我在NutShell中阅读Java并遇到了Data Hiding。而且我尝试了一些例子并且在示例中的一个中感到困惑。
假设我们有这两个类:
Class Parent{
public int a=1;
}
Class Child extends Parent {
public int a=2;
}
在主要功能中创建这两个类的对象:
public static void main (String args[])
{
Child ch= new Child();
Parent pa=new Child();
System.out.println(ch.a);
System.out.println(pa.a);
}
输出为:2和1 我不明白为什么第二行是打印1.由于pa是Child的对象,它应该隐藏父类的值。
任何人都可以解释一下这是如何运作的吗?