首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

关于大花猫的有关问题,不好意思麻烦大家了,又有新发现!

2011-12-30 
关于大花猫的问题,不好意思麻烦大家了,又有新发现!!!!!!!!!!cxz7531(大花猫)()信誉:97Blog加为好友2007-04

关于大花猫的问题,不好意思麻烦大家了,又有新发现!!!!!!!!!!
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
事实证明大花猫是正确的,利用了 "子类可以转化为父类 "的特性:
下面的这个程序是我写的,也能证明 "子类可以转化为父类 "可以在子类中方便的选择
输出父类的变量,但是问题随之又来了,难道方法不可以利用 "子类可以转化为父类 "的特性吗:如下:
class   Father   {
public   int   num   =   1;
public   void   tellASecret()   {
System.out.println( "Father 's   secret. ");
}
}
class   Son   extends   Father   {
public   String   num   =   "hello ";
public   static   void   main(String[]   args)   {
Son   son   =   new   Son();
son.tellASecret();
((Father)son).tellASecret();
}
public   void   tellASecret()   {
System.out.println( "Son 's   secret. ");
}
}
我的目的是输出:
Son 's   secret.
Father 's   secret.
而结果却输出了:
Son 's   secret.
Son 's   secret.
不知道这是为什么,如果JAVA规定不允许这样使用的话,你倒可以报错啊,
但是也不报错,.请问如何解决?

[解决办法]
Java中public、protected方法是会被子类覆盖,属性才不会的

Son 中的tellASecret已经重载了Father 中的方法,在Son类之外你已经无法调用了Father 中的tellASecret方法
[解决办法]
class Father {
public int num = 1;
public void tellASecret() {
System.out.println( "Father 's secret. ");
}
}
class Son extends Father {
public String num = "hello ";
public static void main(String[] args) {
Son son = new Son();
Father mo=new Father();
son.tellASecret();
mo.tellASecret();
}
public void tellASecret() {
System.out.println( "Son 's secret. ");
}
}
在Son类里面可以用Father来实例方法,这应该可以达到你要的效果
[解决办法]
既然通过实例一个子类对象就可以调用子类方法,楼主为什么还要通过将子类引用转化为超类引用这种方式呢,实在费解!

热点排行