Java super 关键字指南
上次更新:2024 年 1 月 8 日
1. 简介
在本快速教程中,我们将了解 super Java 关键字。
简单地说,我们可以使用super 关键字来访问父类。
让我们探索该核心关键字在语言中的应用。
2. 带构造函数的 super 关键字
我们可以使用super() 来调用父类的默认构造函数。它应该是构造函数中的第一个语句。
在我们的示例中,我们使用带有String 参数的 super(message)
public class SuperSub extends SuperBase {
public SuperSub(String message) {
super(message);
}
}
让我们创建一个子类实例,看看幕后发生了什么
SuperSub child = new SuperSub("message from the child class");
new 关键字调用 SuperSub 的构造函数,后者首先调用父类构造函数,并将String 参数传递给它。
3. 访问父类变量
让我们创建一个带有message 实例变量的父类
public class SuperBase {
String message = "super class";
// default constructor
public SuperBase(String message) {
this.message = message;
}
}
现在,我们创建一个具有相同名称变量的子类
public class SuperSub extends SuperBase {
String message = "child class";
public void getParentMessage() {
System.out.println(super.message);
}
}
我们可以使用 super 关键字从子类访问父类变量。
4. 带方法重写的 super 关键字
在进一步进行之前,我们建议您查看我们的 方法重载和重写 指南。
让我们向父类添加一个实例方法
public class SuperBase {
String message = "super class";
public void printMessage() {
System.out.println(message);
}
}
并在子类中重写printMessage() 方法
public class SuperSub extends SuperBase {
String message = "child class";
public SuperSub() {
super.printMessage();
printMessage();
}
public void printMessage() {
System.out.println(message);
}
}
我们可以使用 super 来从子类访问被重写的方法。构造函数中的 super.printMessage() 从 SuperBase 调用父类方法。
5. 结论
在本文中,我们探讨了 super 关键字。
支持本文的代码可在 GitHub 上获取。 一旦你以 Baeldung Pro 会员 身份登录,就开始学习并在项目上进行编码。















