为啥对于第一个方法参数为Dog对象时强转的时候会出错?谢谢!

为啥对于第一个方法参数为Dog对象时强转的时候会出错?谢谢!


http://img1.sycdn.imooc.com//climg/5df701cd084f887408750433.jpg
为啥对于第一个方法参数为Dog对象时强转的时候会出错?谢谢!

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

因为它是Dog,并不是Animal,所以你强制转为Animal就会报错了。这也是之前课程讲到的,虽然语法没有错误,但运行时还是有可能报错的。这种转换有风险。如果解决了你的疑惑,请采纳,祝学习愉快~

  • Ceoking 提问者 #1
    Dog不能转为animal那为啥object可以转为animal?
    2019-12-16 17:25:18
  • 好帮手慕雪 回复 提问者 Ceoking #2
    这还得看你传递的这个object是什么,如果是animal,那强制转换没有问题。如果不是,强制转换,是会出现异常的。
    2019-12-16 17:36:21
  • Ceoking 提问者 回复 好帮手慕雪 #3
    java强制类型转换规则不是高级别类型赋值给低级别类型时需要强转才行嘛。那此题所体现的强转规则是什么呢?这种规则是通用的吗?
    2019-12-22 10:41:09
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师