1.什么是繼承
java中提供了一個關鍵字extends,用這個關鍵字,可以讓一個類和另一個類建立其父子關系。
2.繼承的特點
子類能繼承父類的非私有成員(成員變量,成員方法)。
3.繼承后對象的創建
子類的對象是由子類、父類共同完成的。
4.繼承的執行原理
子類對象實際上是由子父類這兩張設計圖共同創建出來的
分析:
第一行代碼:在方法區創建Test.class空間
第二行代碼:在棧內存創建main空間
第三行代碼:先在方法區創建出B.class和A.class,B.class指向A.class,然后在棧內存的main空間內創建一個b空間,然后在堆內存中創建出一個b空間,將地址值交給棧內的b空間,然后堆內的b空間指向方法區的B.class。
第四行代碼:先在棧內存中找到b空間,然后根據地址值找到堆中的b空間,然后找到i,將i的值打印出來
第五行代碼:先在棧內存中找到b空間,然后根據地址值找到堆中的b空間,根據b空間找到B.class,發現沒有print1,然后在找父類中的方法,找到了print1,運行print1,打印出最后結果。
第六行代碼:先在棧內存中找到b空間,然后根據地址值找到堆中的b空間,根據b空間找到B.class,發現有print3,運行print3,打印出最后結果。