Java 中的 super 关键字

Siddharth Swami 2023年10月12日 Java Java Class
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() 函数调用父类构造函数来打印来自父类和子类的消息。

Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe

相关文章 - Java Class