Java 類的繼承

來源:互聯網
上載者:User

標籤:java   繼承   

1. 繼承的概念
      繼承在本質上是 特殊 —— 一般 的關係,即常說的is-a關係。子類繼承父類,表明子類是一種特殊的父類,並且具有父類所不具有的一些屬性或方法。在Java中使用 extends關鍵字來標識兩個類的繼承關係。
2. 繼承中的初始化順序
      從類的結構上而言,其內部可以有如下四種常見形態:屬性(包括類屬性和執行個體屬性)、方法(包括類方法和執行個體方法)、構造器和初始化塊(包括類的初始化塊和執行個體的初始化塊)。對於繼承中的初始化順序,又具體分為類的初始化和對象的初始化。
類初始化:
      在jvm裝載類的準備階段,首先為類的所有類屬性和類初始化塊分配記憶體空間。並在類首次初始化階段中為其進行初始化,類屬性和類初始化塊之間的定義時的順序決定了其初始化的順序。若類存在父類,則首先初始化父類的類屬性和類初始化塊,一直上溯到Object類最先執行。
對象初始化:

      在new建立對象時,首先對對象屬性和初始化塊分配記憶體,並執行預設初始化。如果存在父類,則先為父類對象屬性和初始化塊先分配記憶體並執行初始化,然後執行父類構造器中的初始化程式,接著才開始對子類的對象屬性和初始化塊執行初始化。

3. 繼承中的this和super

      當對象屬性和方法中的局部變數名稱相同時,在該方法中需要顯式的使用 this作為主調,以表示對象的屬性,若不存在此問題,可以不顯式的寫this。其實,其牽涉到的一個問題就是變數的尋找規則: 先局部變數 => 當前類中定義的變數 => 其父類中定義的可以被子類繼承的變數 => 父類...  super表示調用父類中相應的屬性和方法,在方法中,若需要調用父類的方法時,也一定要寫在第一行。

      當重寫父類方法時,修改方法的修飾許可權只能從小的範圍到大的範圍改變,例如,父類中的方法修飾許可權為protected,繼承後子類中的方法的修飾許可權只能修改為public,不能修改為private。

Java 類的繼承

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.