老师在视频中说的,在多态中,成员变量和静态函数的特点:无论编译和运行,都参考左边(引用型变量所属的类)。
那么为什么下面的小程序中的打印的 i 的值为5,不是要参考父类中的i 吗?
class Super
{
int i=0;
public Super(String a)
{
System.out.println("A");
i=1;
}
public Super()
{
System.out.println("B");
i+=2;
}
}
class Demo extends Super
{
public Demo(String a)
{
System.out.println("C");
i=5;
}
public static void main(String[] args)
{
int i=4;
Super d=new Demo("A");
System.out.println(d.i);
}
}作者: 杨文宇 时间: 2012-7-23 17:18
public Demo(String a)
{
System.out.println("C");
i=5;
}
相当于:
public Demo(String a)
{
new Super();
System.out.println("C");
i=5;
}
貌似是这样。。。