java super关键字

在java中有很多关键字,我们需要掌握和理解这些关键字怎么使用,这样我们才可以写出更健壮和高效的程序,这篇文章主要来说一下java中的关键字super。super关键字有两种用途,分别是:

  1. 可以使用super关键字来访问父类的成员

如果你的子类重写了父类中的方法,你可以通过使用super关键字来回调父类中被重写的方法。你也可以使用super关键字来查询一个隐藏域。考虑下面这两个类,父类SuperClass和子类SubClass:

package com.java8.learn;

public class SuperClass {

    public void printMethod(){
        System.out.println("superClass printMethod");
    }
}

package com.java8.learn;

public class SubClass extends SuperClass {
    @Override
    public void printMethod() {
        super.printMethod();
        System.out.println("subClass printMethod");
    }

    public static void main(String[] args){
        SubClass subClass = new SubClass();
        subClass.printMethod();
    }
}

控制台输出结果:

superClass printMethod
subClass printMethod

从上面的程序运行结果可以看出,创建SubClass的对象并调用了该类中的printMethod方法,而该方法中又使用了super关键字调用了父类中的printMethod方法,所以最终的打印结果如上图所示。

  1. 可以使用super关键字来访问父类的构造方法

通过使用super关键字调用父类的构造方法必须在子类构造方法的第一行。可以是调用无参的super();也可以是调用父类有参数的构造方法super(parameter,list);

如果构造函数未显式调用超类构造函数,则Java编译器会自动插入对超类的无参数构造函数的调用。 如果超类没有无参数构造函数,则会出现编译时错误。

java super关键字_第1张图片

你可能感兴趣的:(JAVA)