Java 基礎入門隨筆(11) JavaSE版——繼承,隨筆javase

來源:互聯網
上載者:User

Java 基礎入門隨筆(11) JavaSE版——繼承,隨筆javase

 

1.物件導向的特徵二:繼承定義:

指一個對象直接使用另一對象的屬性和方法。

好處:

1.提供代碼的複用性。

2.讓類與類直接產生了關係,給第三個特徵多態提供了前提。

java中支援單繼承。不直接支援多繼承,但對C++中的多繼承機制進行改良。

單繼承:一個子類只能有一個父類。

多繼承:一個子類可以有多個直接父類(java中不允許,進行改良,不直接支援,因為多個父類中有相同的成員,會產生調用不確定性,在java中是通過“多實現”的方法來體現的。

java支援多層(多重)繼承。(例如C繼承B,B繼承A,就會出現繼承體系。)

(廢話一點:當要使用一個繼承體系時,1查看該類中的頂層類,瞭解該體系的準系統。2建立體系中的最子類對象,完成功能使用。)

 

什麼時候定義繼承?

當類與類之間存在所屬關係的時候,就定義為繼承。(xxx是yyy的一種; xxx extends yyy)

 

當本類的成員和局部變數同名用this區分。
當子父類中的成員變數同名用super區分父類。

this和super的用法很相似。

this:代表一個本類對象的引用。
super:代表一個父類空間。

覆蓋操作。這是函數在子父類中的特性。

函數兩個特性:
    1,重載。同一個類中。overload
    2,覆蓋。子類中。覆蓋也稱為重寫,覆寫。override

覆蓋注意事項:
1,子類方法覆蓋父類方法時,子類許可權必須要大於等於父類的許可權。 (父類方法私人時不稱為覆蓋)
2,靜態只能覆蓋靜態,或被靜態覆蓋。

什麼時候使用覆蓋操作?

當對一個類進行子類的擴充時,子類需要保留父類的功能聲明,但是要定義子類中該功能的特有內容時,就使用覆蓋操作完成.

在子類的建構函式中第一行有一個預設的隱式語句。 super();

子類的執行個體化過程:子類中所有的建構函式預設都會訪問父類中的空參數的建構函式。

為什麼子類執行個體化的時候要訪問父類中的建構函式呢?
那是因為子類繼承了父類,擷取到了父類中內容(屬性),所以在使用父類內容之前,要先看父類是如何對自己的內容進行初始化的。所以子類在構造對象時,必須訪問父類中的建構函式。 為了完成這個必須的動作,就在子類的建構函式中加入了super()語句。

如果父類中沒有定義空參數建構函式,那麼子類的建構函式必須用super明確要調用父類中哪個建構函式。同時子類建構函式中如果使用this調用了本類建構函式時,那麼super就沒有了,因為super和this都只能定義第一行。所以只能有一個。但是可以保證的是,子類中肯定會有其他的建構函式訪問父類的建構函式。

注意:supre語句必須要定義在子類建構函式的第一行。因為父類的初始化動作要先完成。

一個對象執行個體化過程:


例如Person p = new Person();
1,JVM會讀取指定的路徑下的Person.class檔案,並載入進記憶體, 並會先載入Person的父類(如果有直接的父類的情況下).
2,在堆記憶體中開闢空間,分配地址。
3,並在對象空間中,對對象中的屬性進行預設初始化。
4,調用對應的建構函式進行初始化。
5,在建構函式中,第一行會先到調用父類中建構函式進行初始化。
6,父類初始化完畢後,再對子類的屬性進行顯示初始化。
7,再進行子類建構函式的特定初始化。
8,初始化完畢後,將地址值賦值給引用變數.

圖裂(步驟如下所示):

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.