Java 中的 super 和 super() 的区别及示例

2025年3月31日 | 阅读 4 分钟

在 Java 中,“super”关键字是一个引用变量,它指向父类的对象。它主要在继承的上下文中被使用,子类继承其超类的字段、方法和构造函数。

当创建一个子类时,首先会调用超类的构造函数。如果超类有一个参数化构造函数,子类构造函数必须使用 super 关键字显式调用它来初始化超类变量。为了调用超类的默认构造函数,如果超类没有自己的构造函数,子类构造函数必须使用“super”关键字。

“super”关键字可以用来访问超类的特定变量。如果子类定义了一个与其超类中的字段同名的字段,则可以使用“super”来访问超类中的字段。当我们要引用同名的超类字段而不是子类字段时,这很有用。

“super”关键字是 Java 编程中的一个重要概念,广泛用于继承和面向对象编程。

文件名: Dog.java

输出

My name is Buddy
I am a Golden Retriever dog

super()

super() 方法用于调用父类的构造函数。根据情况,它可以用于调用父类的参数化构造函数和非参数化构造函数。当创建子类对象时,父类的构造函数会自动使用 super() 调用。当父类有一个参数化构造函数时,子类构造函数必须使用 super() 调用父类构造函数并提供必要的参数。

文件名: School.java

输出

Person class Constructor
Student class Constructor

super 和 super() 的区别

supersuper()
在 Java 中,“super”关键字是一个引用变量,它允许我们访问和引用父类的对象。在子类的构造函数中,“super()”方法用于调用其父类的构造函数。
Java 中的“super”关键字可用于访问和调用父类的变量和方法。Java 中的“super()”方法专门用于调用父类的构造函数。它允许子类在初始化自己的成员之前初始化从父类继承的成员。
如果一个类不使用 super 关键字显式调用超类的变量或方法,则什么也不会发生。如果一个构造函数没有通过使用 super() 显式调用超类构造函数,则 Java 编译器会自动插入对超类无参数构造函数的调用。
它是一个 Java 关键字。它不是一个关键字,而是一个特殊的函数调用。

下一个主题for 循环枚举 Java