子類構造函數中super()方法的理解

先說說對構造函數的理解:

1,函數名於類名相同。

2,沒有返回值。

3,沒有return。

4,每個類都有一個默認無參的構造函數,初始化該類的時候,先走構造函數,用於初始化成員變量和方法。

5,一個類如果自定義了構造函數,則默認的無參構造函數沒有了,如果需要無參的構造函數,必須手動添加。

再說說子類和父類關於super()方法的調用:

1,super(); 就是調用父類的構造函數。

2,如果父類自定義了有參的構造函數,子類必須自定義構造函數,並且在構造函數的第一行調用父類的帶參的構造函數。(這塊我個人理解爲,如果子類自定義構造函數,那默認的是無參的構造函數,無參的構造函數默認調用父類的無參的構造函數,但是父類自定義了有參的構造函數,就沒有無參的構造函數了,所以這個編譯是失敗的。)

 

以上,是我個人的理解,如果有問題,請各位及時留言指正。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章