關於繼承時構造方法的問題

2022-08-15 20:57:07 字數 469 閱讀 1392

1、在乙個類中,如果不定義建構函式,都會有乙個預設的無參建構函式

2、如果在乙個類中定義了乙個有引數的建構函式,那原來那個無參的建構函式就沒了,你可以手動把無參的也定義出來

3、當子類繼承父類時,子類的建構函式的第一行都會通過super();來預設呼叫父類的無參建構函式

4、當父類中定義了乙個有參的建構函式,而沒有把無參的建構函式明確出來,這樣父類中無參建構函式就沒了,當子類在

繼承父類的時候,子類的建構函式第一行通過super();找不到父類的無參建構函式,就會報錯

5、在4的基礎上,要想不報錯,就需要在子類建構函式的第一行通過super(int x)來顯式呼叫父類的有參建構函式,或者通過this來呼叫

子類中的其他建構函式,其他構造函式呼叫父類的建構函式,這樣通過其他建構函式就間接的呼叫了父類的建構函式

6、不管怎麼說,子類建構函式必須要呼叫父類的建構函式(有參或無參),可以自己調,也可以通過兄弟建構函式間接調

繼承的構造方法

1.子類的構造過程中必須呼叫父類的構造方法 2.子類可以在自己的構造方法通過super argument list 來呼叫父類的構造方法 1 使用this argument list 來呼叫本類另外的構造方法 2 如果呼叫super,必須寫在子類構造方法的第一行。3.如果子類的構造方法中沒有顯示的呼...

子類繼承父類時,建立物件,構造方法的呼叫問題

在學習繼承的時候,遇到一些小問題,這裡總結一下,有錯誤望指正 先來看一段 標準父類 class father 有參 public father string name,int age set get方法 public void setname string name public string ge...

Python類的構造方法及繼承問題

構造方法名字固定為 init 在建立物件時會自動呼叫,用於實現類的初始化 class person def init self,name,age 0 self.name name self.age age defget name self return self.name defset name s...