super 关键字的使用及说明
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 修饰的方法属于类范畴的东西。