登陆 / 注册
JAVA 学习手册 展开/折叠

super关键字

阅读数:8

当子类重写父类方法后,子类对象将无法访问父类的被重写方法。为了解决这个问题,Java中专门提供了this关键字用于访问父类的方法

或成员变量。

Java中的super关键字是引用即时父类对象的引用变量。

无论何时创建子类的实例,都会隐式创建父类的实例,该实例由超级引用变量引用。

Javasuper关键字的使用

super可用于引用直接父类实例变量。

super可用于调用直接父类方法。

super()可用于调用直接父类构造函数。

使用super关键字访问父类的成员变量和成员方法的语法如下:

 super.成员变量
 super.成员方法([参数1]....[参数n]);
 super()

super用于引用直接父类实例变量。

我们可以使用super关键字访问父类的数据成员。如果父类和子类具有相同的成员,则使用它。

class Animal{
    String color="白色";
}
class Dog extends Animal{
    String color="黑色";
    void printColor(){
        System.out.println(color);//打印Dog的颜色
        System.out.println(super.color);//打印Animal的颜色
    }
}
class TestSuper1{
    public static void main(String args[]){
        Dog d=new Dog();
        d.printColor();
    }
}

运行以上示例,输出如下结果:

黑色
白色

在上面的例子中,动物和狗这两个类都有一个共同的属性颜色。如果我们打印颜色属性,它将默认打印当前类的颜色。要访问父属性,我

们需要使用super关键字。

本节内容如下:

想更加深入了解请点击:super的使用

我们之前学过使用this关键字,是不是觉得比较类似,让我们来看看它们有什么区别吧。想了解如何使用清点击:super与this区别

微信扫码登陆