標籤:完全 tips 書籍 extend 通過 說明 無法建立 概念 field
java語言提供了定義類、成員變數、方法等準系統。
類可以認為是一種自訂的資料類型,可以使用類來定義變數,所有使用類來定義的變數都是引用變數,它們都會引用到類的對象。
java物件導向的三大特徵:封裝、繼承、多態。
封裝:提供了private、protected和public三個存取修飾詞來實現
繼承:extends關鍵字讓子類繼承父類
多態:父類引用指向子類對象,使用繼承關係來實現複用時,子類對象可以直接賦給父類變數,這個變數具有多態性,編程更加靈活。(百度搜:花木蘭替父從軍引例)
類和對象:
類是某一批對象的抽象,可以把類理解為某種概念;
對象才是一個具體存在的實體。
類中三種常見的成員:構造器、成員變數、方法。
static修飾的成員表明它屬於這個類本身,而不屬於該類的單個執行個體,因此通常把static修飾的成員變數和方法稱為類變數、類方法。不使用static修飾的普通方法、成員變數則屬於該類的單個執行個體。static修飾的方法中不能使用this引用(static直接存取,無需建立對象),所以static修飾的方法不能訪問不使用static修飾的普通成員,即static修飾的成員不能訪問沒有static修飾的成員。(大部分資料將static稱為靜態,這種說法很模糊,完全無法說明static的真正作用)
成員變數Tips:成員變數由英文單詞field意譯而來,早期有些書籍將成員變數稱為屬性。但實際上在java世界裡屬性(由property翻譯而來)指的是一組setter方法和getter方法。比如說某個類有age屬性,意味著該類包含getAge()和setAge()兩個方法,另外有些資料、書籍將field翻譯為欄位、域。
參數列表:一旦在定義方法時指定了形參列表,則調用該方法時必須傳入對應的參數值——誰調用方法,誰負責為形參賦值。
顯示定義建構函式的意義:建構函式可以包含參數,建構函式包含的參數給調用者提出要求:這些參數,是建立這個類必須要用的。這比直接在初始化的時候賦值更靈活,也更規範。(比如小孩生下來有沒有名字,是男是女是不確定的,但可以肯定的是小孩子出生時都會哭,此時哭就是建立這個類必須要用的)Java語言都過new關鍵字來調用構造器,從而返回該類的執行個體。如果一個類沒有構造器,這個類通常無法建立執行個體(系統可以預設提供一個構造器)。static修飾的方法和變數,既可以通過類來調用,也可以通過執行個體來調用。
定義類之後,使用時,java的類大致由如下作用:
--定義變數
--建立對象
--調用類的方法或訪問類的類變數
Java物件導向-對象和類概述