在 Java 中,子类可以通过使用 super
关键字来调用父类的构造方法。这通常在子类的构造方法中进行,以便在创建子类对象时初始化父类的成员。
你有一个父类 Animal
,并且它有一个构造方法:
class Animal {
String name;
// 父类的构造方法
Animal(String name) {
this.name = name;
System.out.println("Animal constructor called");
}
}
现在,你有一个子类 Dog
,想要在其构造方法中调用 Animal
的构造方法:
class Dog extends Animal {
int age;
// 子类的构造方法
Dog(String name, int age) {
super(name); // 调用父类的构造方法
this.age = age;
System.out.println("Dog constructor called");
}
}
在这个例子中:
Dog
类是Animal
类的子类。Dog
的构造方法使用super(name)
调用了Animal
的构造方法。- 通过调用
super(name)
,Animal
类的构造方法将被执行,并初始化name
字段。
通过以下代码测试以上类的创建:
public class Main {
public static void main(String[] args) {
Dog dog = new Dog("Buddy", 3);
// 输出将是:
// Animal constructor called
// Dog constructor called
}
}
以上代码展示了如何使用 super
来确保在实例化子类对象时,父类的构造方法也被调用并正确初始化。