super是直接父类对象的引用
可以通过super来访问父类中被自雷覆盖的方法或属性
使用super调用普通方法,语句没有位置限制,可以在子类中随便调用
若是构造方法的第一行代码没有显示的调用super(...)或者this(...),那么Java默认都会调用super(),含义是调用父类的无参构造方法
这里的super可以省略
例:
public class SuperTest {
public static void main(String[] args) {
new ChildClass().f();
}
}
class FatherClass {
public int value;
public void f() {
value = 100;
System.out.println("FatherClass.value=" + value);
}
}
class ChildClass extends FatherClass {
public int value;
public void f() {
super.f(); // 100
value = 200;
System.out.println("ChildClass.value=" + value); // 200
System.out.println(value); // 200
System.out.println(super.value); // 100
}
}
可以在eclipse中明显看到调用的是哪一个。双击参数
父类的value使用
子类的value使用