黑马程序员技术交流社区
标题:
子类父类同名属性如何确定哪个隐藏
[打印本页]
作者:
回音
时间:
2013-12-9 13:59
标题:
子类父类同名属性如何确定哪个隐藏
本帖最后由 回音 于 2013-12-9 20:40 编辑
初来乍到,有一小白问题不懂,望指教:
如下代码:
class Parent
{
int x = 1;
int y = 2;
void dispParent()
{
System.out.println("Parent : x = " + x + ", y = " + y);
}
}
class Child extends Parent
{
int x = 3;
int y = 4;
void dispChild()
{
System.out.println("Child : x = " + x + ", y = " + y);
}
}
public class Test
{
public static void main(String[] args)
{
Child c = new Child();
c.dispParent();
c.dispChild();
}
}
复制代码
为什么调用子类继承过来的dispParent方法就会显示Parent类的x,y值,而不是Child类的x,y值?父类的同名属性不是被隐藏了吗?
作者:
ixiangfeng
时间:
2013-12-9 14:12
成员函数在多态调用时,编译看左边,运行看右边(指多态定义时的左边和右边,左边是父类,右边是子类)
静态成员函数的特点:无论编译和运行,都参考左边()
成员变量的特点:无论编译和运行,都参考左边(引用型变量所属的类)
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2