1. 程式人生 > >java無參建構函式(預設建構函式)

java無參建構函式(預設建構函式)


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)