- 子類構造方法中有一個隱含的“super()”調用,所以子類對象在創建的時候,會優先調用父類無參構造方法,再調用本類的構造方法,而且只有子類的構造方法才能調用父類的構造方法,子類其他方法不能調用的。
父類:
public class Fu {
public Fu() {
System.out.println("父類構造方法");
}
}
子類:
public class Zi extends Fu {
public Zi() {
// super(); 默認調用父類的構造方法
System.out.println("子類構造方法");
}
}
調用:
public class JiCheng {
public static void main(String[] args) {
Zi zi = new Zi();
}
}
執行結果:
- 子類構造方法可以通過super關鍵字來調用父類的重載構造
改正後
- super的父類構造方法的調用,必須是子類構造方法中的第一個語句,不能一個子類構造方法調用多個父類構造方法;而且父類的構造方法在子類中必須被調用,不寫則默認會有super()進行調用。