上面的多态和继承 我做一下纠正,楼主问他同名的变量怎么打印的是父类的,我这样给你解释:
因为你在父类里面已经定义了一个变量,在子类里面就没有必要去再定义一个相同名字的变量了,因为子类已经继承了父类,那个变量也跟着继承下来了,看代码体会一下:
如下:
class Demo
{
public static void main(String[] args)
{
/* Zi zi=new Zi();
System.out.println(zi.x);
zi.show();
System.out.println();
Fu fu=new Fu();
System.out.println(zi.x);
fu.show();*/
System.out.println();
Fu fu1=new Zi();
System.out.println(new Zi().x); //3
System.out.println(fu1.x); //3
System.out.println(new Zi().y); //6
fu1.show();
}
}
class Fu
{
int x=3;
void show()
{
System.out.print("fu...run");
}
}
class Zi extends Fu
{
int y=6;
void show()
{
System.out.print("Zi...run");
}
} |