我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:六合公式 > 方法多态 >

求问一个java多态的问题

归档日期:06-07       文本归类:方法多态      文章编辑:爱尚语录

  假设我写了animal的父类,有一个抽象方法eat(Stringfood),然后有三个子类cat,dog,pig继承自animal,实现了各自的eat方法。现在问题是,假设入口函数是从另一个地方接收到一个anima...

  假设我写了animal的父类,有一个抽象方法eat(String food),然后有三个子类cat,dog,pig继承自animal,实现了各自的eat方法。

  现在问题是,假设入口函数是从另一个地方接收到一个animal,然后调用animal的eat方法,那么程序能不能判断一下这个animal是具体哪一个子类,然后调用子类的方法呢?

  它传过来肯定是animal类型,但是实际上可能是dog或者cat,是不是如果我不加判断语句,他只能执行父类animal的eat方法了?展开我来答

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部嗯,子类转换为父类可用赋值的赋值的方式,但是如果将父类转换成子类,需强制转换,需用到instanceof运算符进行判断,例如:

  展开全部这是没问题的啊,你自己完全可以写个例子试试啊,这向下转型就是为了解决这种传值的问题的,编译器会在运行期间自动获得你传的参数的实际类型的,我这正好有个例子,我改了下你看看吧

  2012-05-15展开全部不是,首先要看你接受的animal 是怎么构造的。

本文链接:http://renfriends.com/fangfaduotai/492.html