java 父類構造方法引數的有無對子類構造的影響
阿新 • • 發佈:2018-12-12
情況1:父類有無參構造方法時 子類可以無參構造方法也可以沒有無參構造方法,若無無參呼叫方法則需要顯示的呼叫super(引數); 情況2:父類中無無參構造方法時 子類一般不允許有無參構造方法,因為無參構造方法,構造時沒有引數傳入,而父類中沒有無參構造方法,子類中只能顯示呼叫super(引數),但 又不存在引數,因此不允許有無參構造方法。 但也有例外: 這裡我思考了一下會不會存在這種情況 程式碼如下
public class Main {
public static void main(String[] args)
{
Son s = new Son();
}
}
class Father
{
public Father(int i) {
this.p=i;
System.out.println("fa");
}
private int p ;
}
class Son extends Father {
private static int i;
public Son()
{
super(i);
System.out.println("son");
}
}
結果: 這說明子類無參構造其實也是可以呼叫父類的有參構造的 但正常情況誰TM這麼寫!把擴充套件類的擴充套件的屬性值去給本類構造物件。。。