父類建構函式與子類建構函式的關係

2021-08-20 06:55:47 字數 493 閱讀 3169

//父類

public class parent

public void setname(string name)

//    public parent()

public parent(string name)

}//子類

public class son extends parent

public son(string name)

當new乙個子類物件時,會呼叫子類的建構函式(根據有無引數選擇呼叫有參或者無參建構函式),在子類的建構函式中,其實第一條語句缺省會執行super();這條語句呼叫父類的無參建構函式(因為會繼承父類的變數,所以有必要呼叫其建構函式,因為有可能建構函式內會對其變數進行初始化),如果父類的無參建構函式不存在就會出現編譯時錯誤(如果父類手動重寫了乙個有參建構函式,那麼就不存在預設的無參建構函式了,也需要再顯示寫乙個)。但是可以手動寫super(引數...)呼叫父類的有參建構函式,這樣只要父類有對應的建構函式就不會報錯了。

父類建構函式 子類建構函式

1.子類可以通過super關鍵字來顯式地呼叫父類的建構函式。2.當父類沒有提供無引數的建構函式時,子類也不可以有無參建構函式,且子類的建構函式中必須顯式的呼叫父類的建構函式 3.如果父類提供了無引數的建構函式,此時子類的建構函式就可以不顯式的呼叫父類的建構函式,預設呼叫父類的無參建構函式。4.只要父...

父類建構函式 子類建構函式

1.子類可以通過super關鍵字來顯式地呼叫父類的建構函式。2.當父類沒有提供無引數的建構函式時,子類也不可以有無參建構函式,且子類的建構函式中必須顯式的呼叫父類的建構函式 3.如果父類提供了無引數的建構函式,此時子類的建構函式就可以不顯式的呼叫父類的建構函式,預設呼叫父類的無參建構函式。4.只要父...

父類,子類,匿名類建構函式

1 子類只繼承父類的預設 預設 建構函式,即無形參建構函式。如果父類沒有預設建構函式,那子類不能從父類繼承到任何建構函式。2 子類從父類處繼承來的父類預設建構函式,不能成為子類的預設建構函式。3 在建立物件時,先呼叫父類預設建構函式對物件進行初始化,然後呼叫子類自身自己定義的建構函式。4 如果子類想...