A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 徐卓 中级黑马   /  2013-7-14 12:53  /  1144 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 徐卓 于 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. }
复制代码
求解答,怎样才能让猫抓老鼠

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1 神马都是浮云

查看全部评分

3 个回复

正序浏览
多谢楼上各位
回复 使用道具 举报
这样是不行的 , 因为父类没有子类特有的方法通过父类引用是无法调用的
回复 使用道具 举报
问题是animal类中并没有提供catching方法,这种情况在我看来只有两种办法,一是在animal中增加catching()方法,还有一种是再将animal 对象强制转换为cat对象,再调用catching()方法。

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马