为什么我们不能覆盖Java中的变量,它隐藏变量我们为什么不能覆盖Java中的变量
class A {
int a = 4;
public void test(){
System.out.println("Test method of A");
}
}
class B extends A {
int a = 5;
public void test(){
System.out.println("Test method of B");
}
public static void main(String s[]){
A a= new B();
System.out.println("Value of a : " a.a);
System.out.println("Method result " a.test());
}
}
输出::
Value of a : 4
Mthod result :Test method of B
由于B的类测试方法被叫,但变量访问从超级参考
'class B extends B' ...什么? – Makoto
对不起其延伸的 – varsha
已经解释[这里] [1]和[这里] [2] 问候 [1]:http://stackoverflow.com/questions/427756/overriding-a-超级实例变量 [2]:http://stackoverflow.com/questions/8983002/how-are-the-variables-overridden-in-java – ultraklon