首页 > 技术文章 > super 关键字的使用及说明

hs2018 2018-12-24 14:15 原文

super 关键字主要用于访问父类的变量和方法。

代码示例:

public class Student {

    String name;

    public Student(){
        System.out.println("构造方法一");
    }


    public void haha(){
        System.out.println(name);
    }

}

 

public class ZhangSan extends Student{

    public ZhangSan(){
        System.out.println("ZhangSan的构造方法");
    }

    public void say(){
        super.name="张三";
        super.haha();
    }
}

 

public static void main(String[] args) {

        ZhangSan zhangSan = new ZhangSan();
        zhangSan.say();

    }

 

运行结果:

构造方法一
ZhangSan的构造方法
张三

 

子类构造器使用 super 调用父类的构造器时,需要放在首行,不然会编译报错。

public class ZhangSan extends Student{

    public ZhangSan(){
        super();  //放在首行
        System.out.println("ZhangSan的构造方法");
    }

    public void say(){
        super.name="张三";
        super.haha();
    }
}

 

一些其他说明:

super 不能用在 static 修饰的方法中,因为被 static 修饰的方法属于类,不属于这个类的某个对象,而 super 代表对父类对象的引用,指向父类对象。super 属于对象范畴的东西,而 static 修饰的方法属于类范畴的东西。

推荐阅读