HOWTO · Java
Java 中的 super 关键字
本教程演示了如何在 Java 中使用 super()。
在 Java 中,我们有一个与父类有些相关的预定义关键字 super。我们将在本教程中详细讨论 super() 函数。
在 Java 中,super 关键字充当父类对象的引用变量。它可以用来调用父类的方法和变量。
例如
class Teacher { // Parent class
int grade = 90;
}
class Students extends Teacher { // subclass
Students() {
System.out.println("Grade " + super.grade);
}
}
public class Main {
public static void main(String[] args) {
Students s = new Students();
}
}
输出:
Grade 90
在上面的示例中,我们使用 super 关键字从其子类 Students 的构造函数访问了父类 Teacher 中的变量 grade。
我们还有 super() 函数,它调用父类的构造函数。该函数仅用于调用父类的构造函数。可以使用 super() 函数调用参数和非参数构造函数。如果构造函数在使用 super() 函数时没有显式调用超类构造函数,则 Java 编译器本身会调用超类的无参数构造函数。
请参考下面的代码。
class Teacher { // Parent class
Teacher() // constructor
{
System.out.println("Teacher class Constructor");
}
}
class Students extends Teacher { // subclass
Students() {
super();
System.out.println("Students class Constructor");
}
}
public class Main {
public static void main(String[] args) {
Students s = new Students();
}
}
输出:
Teacher class Constructor
Students class Constructor
我们在上面的代码中创建了一个父类 Teacher 和一个父类构造函数,它会打印一条消息。然后从 Teacher 扩展了一个子类 Students,它有一个构造函数 Students(),它由调用父类构造函数的 super() 函数组成。然后我们有主类,它调用子类来执行程序。super() 函数调用父类构造函数来打印来自父类和子类的消息。