用Java覆盖成员变量(变量隐藏)
我正在研究用Java重写成员函数,并考虑尝试重写成员变量。
所以,我定义了类public class A{
public int intVal = 1;
public void identifyClass()
{
System.out.println("I am class A");
}}public class B extends A{
public int intVal = 2;
public void identifyClass()
{
System.out.println("I am class B");
}}public class mainClass{
public static void main(String [] args)
{
A a = new A();
B b = new B();
A aRef;
aRef = a;
System.out.println(aRef.intVal);
aRef.identifyClass();
aRef = b;
System.out.println(aRef.intVal);
aRef.identifyClass();
}}
产出如下:
1
I am class A
1
I am class B
我不明白为什么Aref设置为b intVal仍然属于A类?