package cn;
/**
* Super父类对象的引用
* @author 110
* super是直接父类对象的引用,可以通过super来访问父类中被子类覆盖的方法或属性。
* 使用super调用普通方法,语句没有位置限制,可以在子类中随便调用。
* 若是构造方法的第一行代码没有显示的调用super(。。)或者this(。。)那么java默认都会调用super(),
*含义是调用父类的无参数构造方法,这里的super()可以省略.
* 构造方法第一句总是:super(。。)来调用父类对应的构造方法,所以,流程就是:先向上追溯到Object,
*然后再依次向下执行类的初始化块和构造方法,直到当前子类位置。
*注:静态初始化块调用顺序,与构造方法调用顺序一样,不在重复。
*/
public class Super {
public static void main(String[] args) {
son s = new son();
s.f();
}
}
class Father {
int value;
public void f(){
value=100;
System.out.println(value);
}
}
class son extends Father{
int value;
public void f() {
super.f();//调用父类对象的普通方法
value=200;
System.out.println(value);
System.out.println(super.value);//调用父类对象的成员变量
}
}
Super父类对象的引用,继承追溯问题
最新推荐文章于 2022-04-09 10:08:55 发布