姜志钦 发表于 2012-4-10 09:08
输出结果:10;
声明父类,创建子类对象,子类对象拥有父类的属性和方法,你输出只是调用对象的属性,声明的 ...
class Parent{
int x=10;
public Parent(){
add(2);
}
void add(int y){
System.out.println("Parent");
x+=y;
}
}
class Child extends Parent{
int x=9;
void add(int y){
System.out.println("Child");
x+=y;
}
public static void main(String[] args){
Parent p=new Child();
System.out.println(p.x);
}
}
子类覆盖了 父类的方法 其实调用的是子类覆盖后的方法
加了两句话 输出Child 其他的说法都没问题 |