先說說對構造函數的理解:
1,函數名於類名相同。
2,沒有返回值。
3,沒有return。
4,每個類都有一個默認無參的構造函數,初始化該類的時候,先走構造函數,用於初始化成員變量和方法。
5,一個類如果自定義了構造函數,則默認的無參構造函數沒有了,如果需要無參的構造函數,必須手動添加。
再說說子類和父類關於super()方法的調用:
1,super(); 就是調用父類的構造函數。
2,如果父類自定義了有參的構造函數,子類必須自定義構造函數,並且在構造函數的第一行調用父類的帶參的構造函數。(這塊我個人理解爲,如果子類自定義構造函數,那默認的是無參的構造函數,無參的構造函數默認調用父類的無參的構造函數,但是父類自定義了有參的構造函數,就沒有無參的構造函數了,所以這個編譯是失敗的。)
以上,是我個人的理解,如果有問題,請各位及時留言指正。