跳至主要內容

13. Java super关键字

LiuSongLing大约 2 分钟javajava

在这个快速教程中,我们将看看 super Java关键字。

简单地说,我们可以使用超级关键字来访问父类。

让我们探索核心关键字在语言中的应用。

1.构造函数的super关键字

**我们可以使用super()调用父默认构造函数。**它应该是构造函数中的第一个语句。

在我们的示例中,我们将super(消息)与String参数一起使用:

public class SuperSub extends SuperBase {

    public SuperSub(String message) {
        super(message);
    }
}

让我们创建一个子类实例,看看后面发生了什么:







SuperSub child = new SuperSub("message from the child class");

新关键字调用SuperSub的构造函数,它本身首先调用父构造函数,并将String参数传递给它。

2.访问父类变量

让我们创建一个带有消息实例变量的父类:

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);
    }
}

我们可以使用超级关键字从子类访问父变量。

3.重写方法

让我们向父类添加一个实例方法:

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的父方法。