tmntduke
2015-10-20 05:12
采纳率: 85.7%
浏览 2.5k
已采纳

java中当父类变量值改变后,子类在通过super调用该变量时,该值是否还是初始化的值?

class A{
int x=2;
public void setX(int i){
x=i;

}
public void printa(){
System.out.println(x);
}
}
class B extends A{
int x=100;
void printb(){
//super.x=super.x+10;
System.out.println("super.x:"+super.x+" x="+x);

}
}
public class Test {

public static void main(String[] args) {
// TODO Auto-generated method stub
A a1=new A();
a1.setX(4);
a1.printa();
B b=new B();
b.printa();
b.printb();
}

}

程序结果
4
2
super.x:2 x=100
为什么super.x不为4

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

5条回答 默认 最新

相关推荐 更多相似问题