为什么我们不能覆盖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 的类测试方法被调用,但变量是从超类引用中访问的