黑马程序员技术交流社区

标题: 继承 和多态 [打印本页]

作者: 徐卓    时间: 2013-7-14 12:53
标题: 继承 和多态
本帖最后由 徐卓 于 2013-7-15 10:15 编辑
  1. <div class="blockcode"><blockquote>abstract class animal
  2. {
  3.         public abstract String eat();
  4. }  
  5. class cat extends animal
  6. {
  7.         public String eat()
  8.         {
  9.                 return "吃东西";
  10.         }
  11.         public String catching()
  12.         {
  13.                 return "抓老鼠";
  14.         }
  15. }
  16. class Demo
  17. {
  18.         public static void main(String[] args)
  19.         {
  20.                 animal a=new cat();
  21.                 System.out.println(a.eat());
  22.                 //我希望System.out.println(a.catching());成立,当是不能改变animal a=new cat()为cat a=new cat();
  23.         }
  24. }
复制代码
求解答,怎样才能让猫抓老鼠

作者: wedge    时间: 2013-7-14 13:58
问题是animal类中并没有提供catching方法,这种情况在我看来只有两种办法,一是在animal中增加catching()方法,还有一种是再将animal 对象强制转换为cat对象,再调用catching()方法。
作者: a767175432    时间: 2013-7-14 14:05
这样是不行的 , 因为父类没有子类特有的方法通过父类引用是无法调用的
作者: 徐卓    时间: 2013-7-15 10:14
多谢楼上各位




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2