父類沒有預設的建構函式,子類會編譯通不過
例子 父類
public class a
}
子類 錯誤**
public class b extends a
}
子類正確**
public class b extends a
}
如果父類沒有寫構造方法或者父類的構造方法跟預設的一樣
那麼子類不寫構造方法就會預設呼叫父類的構造方法,
如果父類是預設的構造方法
子類要寫構造方法 那麼必須先super() 預設的你可以不寫也 編譯器會給你預設加上
但如果父類過載了構造方法 比如 a(string s)
那麼子類就必須寫 b(string s)
關於父類沒有預設的建構函式時,子類如何建立建構函式
我們都知道,在類定義了帶引數的建構函式後,便不再提供預設建構函式,但是子類的建構函式需要父類的預設建構函式才能定義,否則編譯時將會出錯,這時有兩種解決方法,一種是利用建構函式過載,過載乙個預設的建構函式,另一種方法如下 例 class tree 構造乙個樹類作為父類 void treelife 樹類...
父類建構函式 子類建構函式
1.子類可以通過super關鍵字來顯式地呼叫父類的建構函式。2.當父類沒有提供無引數的建構函式時,子類也不可以有無參建構函式,且子類的建構函式中必須顯式的呼叫父類的建構函式 3.如果父類提供了無引數的建構函式,此時子類的建構函式就可以不顯式的呼叫父類的建構函式,預設呼叫父類的無參建構函式。4.只要父...
父類建構函式 子類建構函式
1.子類可以通過super關鍵字來顯式地呼叫父類的建構函式。2.當父類沒有提供無引數的建構函式時,子類也不可以有無參建構函式,且子類的建構函式中必須顯式的呼叫父類的建構函式 3.如果父類提供了無引數的建構函式,此時子類的建構函式就可以不顯式的呼叫父類的建構函式,預設呼叫父類的無參建構函式。4.只要父...