【发布时间】:2014-04-23 19:59:27
【问题描述】:
动物是超类
猫科动物是动物的子类
猫是猫的子类
犬是动物的子类
Dog 是 Canine 的子类
所有的类都有自己的eat()方法输出:
“(班级)正在吃饭”
我已经尝试过创建一个 Animals 数组,循环遍历它们,然后调用 eat() 方法,该方法为每个给定的动物输出正确的输出。
我的问题是,这样做有什么好处:
Cat j = new Animal();
Cat j = new Cat() 不会对 Animal 类型的方法做任何你需要做的事情,因为它已经是一个通过继承的动物?
编辑:对不起,我的意思是相反的——通过声明: 动物 j = new Cat();
对不起!
【问题讨论】:
-
Cat j = new Animal();不可编译。 -
你不能那样做。你的意思是
Animal j = new Cat()? -
大箱子不能装在小箱子里。
标签: java inheritance polymorphism