在Java中,super
關鍵字用于調用父類(或基類)的方法。在構造方法中使用super
關鍵字的主要目的是調用父類的構造方法,以便在創建子類對象時正確地初始化父類的成員變量。
當你在子類構造方法中使用super
關鍵字時,它會自動調用父類中與參數列表匹配的無參構造方法。如果沒有匹配的構造方法,你需要顯式地調用一個帶參數的父類構造方法。
以下是一個簡單的示例,說明如何在子類構造方法中使用super
關鍵字:
// 父類
class Animal {
String name;
public Animal() {
this("Unknown"); // 無參構造方法
}
public Animal(String name) {
this.name = name;
}
}
// 子類
class Dog extends Animal {
String breed;
public Dog(String name, String breed) {
super(name); // 調用父類的無參構造方法
this.breed = breed;
}
public Dog(String name, String breed, String color) {
super(name, breed); // 調用父類的帶參構造方法
this.color = color;
}
}
在這個例子中,Dog
類繼承了Animal
類,并在其構造方法中使用super
關鍵字調用了Animal
類的無參構造方法和帶參構造方法。這樣,當我們創建一個Dog
對象時,父類Animal
的構造方法會被正確地執行,從而初始化父類的成員變量。