子类源码:
package jason;
public class SubDemo extends BaseDemo{
public int a = 7;
public void accessOwner(){
System.out.println(a);
}
public void accessBase(){
System.out.println(super.a);
}
public static void main(String[] args) {
SubDemo sc=new SubDemo();
System.out.println(sc.a);
sc.accessOwner();
sc.accessBase();
}
}
父类源码:
package jason;
public class BaseDemo {
public int a=5;
}
7
7
5
上面程序的BaseDemo类和SubDemo类中都定义了名为a的实力变量,则SubClass中的a元素会覆盖BaseDemo的实力属性,当系统创建SubClass对象时 ,该对象的属性为7,从父类BaseDemo继承的被覆盖的,a属性为5;只是这个5只有在SubDemo类定义的实例化方法中使用super进行调用时才会被访问!