close

 子類物件與父類建構函數之關係和調用方法

1. 子類雖然能繼承父類的「成員變數」「成員函數」,但「父類的建構函數是不能被繼承」的,只能使用super調用

2. 在子類的建構函數當中,必須調用父類的建構函數。而必須調用父類的建構函數的原因在於「減少重覆代碼」,即如需給父類和子類賦與成員變數初始值的話,會因父類中的建構函數中有賦值過,子類如果再賦值一次就會造成重覆代碼之問題,因此只需利用super來使用即可。

3. 如子類的建構函數中,如無特殊指定的話,於Java編譯時會自動於建構函數的第一行中加入super();,但需注意父類是否有無參數的建構函數。

4. this為調用本類的建構函數,而super則用於調用父類的建構函數。

5. super必須位於建構函數的方法體中的「第一行」,即this相同,因此一個建構函數中「只能有一個thissuper,需注意!!

 

使用super調用父類建構函數之範例

19_範例_Person.png 19_範例_Student.png 19_範例_Main.png 19_範例_Main結果.png  

 

 

arrow
arrow

    Elsa 發表在 痞客邦 留言(0) 人氣()