您好,登錄后才能下訂單哦!
《Java編程思想》復用類一章,提出基類的子對象的構建過程是從基類“向外”進行擴散的。
下面通過實例進行講解,首先看下面的代碼:
import static net.mindview.util.Print.*; //《java編程思想》提供的類庫 /** * @author Administrator * */ public class Cat extends Animal { public Cat() { // TODO Auto-generated constructor stub print("Caretoon constructor"); } public static void main(String[] args) { Cat x = new Cat(); } } class Biology { Biology() { // TODO Auto-generated constructor stub print("Art constructor"); } } class Animal extends Biology { Animal() { // TODO Auto-generated constructor stub print("Drawing constructor"); } }
程序運行結果:
在這里共聲明了三個類,分別是Biology, Animal,Cat. 繼承關系如下:
在main()
函數中,經過單步調試可以看到,創建Cat類型對象時候,首先需要找到Cat類的父類對象,即從Cat類尋找其父類Animal類的構造器,最后尋找Animal的父類Biology類的構造器。
找到Biology基類之后,按照下面順序,執行各自的構造函數
所以,最終的輸出結果,如控制臺輸出所示。
需要注意的是,即使Cat類不創建構造器,編譯器會創建默認的構造器。仍然會調用到基類的構造器。輸出結果如下:
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對億速云的支持。如果你想了解更多相關內容請查看下面相關鏈接
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。