谁来证明"大花猫"是错误的?
cxz7531(大花猫) ( ) 信誉:97 Blog 加为好友 2007-04-12 16:14:54 得分: 0
这样改下
public class aa {
public int num = 1;
public static void main(String... strings) {
bb p = new bb();
System.out.println("num=" + ((aa) p).num);
System.out.println("num=" + p.num);
}
}
class bb extends aa {
public int num = 8;
public static void main(String args[]) {
bb t = new bb();
System.out.println(t.num);
}
}
//结果是
num=1
num=8
////////////////////////////
这说明父类、子类的字段不是放在一个空间中,子类不会覆盖父类,子类的实例以子类的面孔出现的时候调用的是子类的该字段,以父类的面孔出现的时候调用的是父类的该字段。两者井水不犯河水。
这跟方法有区别,方法从来都是子类覆盖父类。不管子类的实例以什么面孔出现调用的都是子类的方法
但是我模仿大花猫的用法却不成功为什么呢:程序如下:
public class aa
{
public int num=1;
}
class bb extends aa
{
public int num=8;
public static void main(String args[])
{
aa t=new aa();
System.out.println(t.num);
System.out.println(((bb) t).num);
}
}