【发布时间】:2012-05-02 09:29:25
【问题描述】:
我有 2 节课:
public class Increase {
public int a=3;
public void add(){
a+=5;
System.out.println("f");
}
}
class SubIncrease extends Increase{
public int a=8;
public void add(){
a+=5;
System.out.println("b" + a);
}
}
但是当我跑步时
Increase f=new SubIncrease();
System.out.println(f.a);
f.add();
System.out.println(f.a);
我得到了这个输出:
3
b13
3
谁能帮我理解为什么会这样? a 属性的值在方法 add 中发生了变化,如第二个 outpuy 行所示...为什么会恢复到原来的值?
【问题讨论】:
标签: java inheritance polymorphism overriding