在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
的构造方法会被正确地执行,从而初始化父类的成员变量。