java無參建構函式(預設建構函式)
阿新 • • 發佈:2019-01-07
java的子類在例項化的時候,會自動呼叫父類的無參建構函式(預設建構函式)。
舉例如下:
父類:
public class P {
public P() {
System.out.print("父類 預設建構函式\n");
}
}
子類:
public class C extends P {
public C(int i) {
System.out.print("子類自定義建構函式\n");
}
}
測試類:
public class test { public static void main(String[] args) { C c1= new C(1); } }
輸出:
父類 預設建構函式
子類自定義建構函式
需要注意的是父類的無參建構函式只能是public或者protected型別,否則子類無法訪問,報錯如下:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Implicit super constructor P() is not visible. Must explicitly invoke another constructor
at C.<init>(C.java:3)
at test.main(test.java:4)