为什么必须使用父类引用 Animal temp去接收?

为什么必须使用父类引用 Animal temp去接收?

为什么必须使用父类引用 Animal temp去接收?

正在回答 回答被采纳积分+1

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

2回答
初一 2019-04-24 16:51:24

Animal(动物)是父类,Cat和Dog是子类,父类是可以用来接收子类对象的,这就是多态的性质。而temp就是我们设定的对象名称。 


初一 2019-04-24 14:32:05

父类引用指向子类对象

并不是必须用父类引用 Animal temp去接收,而是这样扩展性更强

要理解多态性,首先要知道什么是“向上转型”。 我定义了一个子类Cat,它继承了Animal类,那么后者就是前者是父类。我可以通过 Cat c = new Cat(); 实例化一个Cat的对象,这个不难理解。

但当我这样定义时: Animal a = new Cat(); 这代表什么意思呢? 很简单,它表示我定义了一个Animal类型的引用,指向新建的Cat类型的对象。由于Cat是继承自它的父类Animal,所以Animal类型的引用是可以指向Cat类型的对象的。那么这样做有什么意义呢?因为子类是对父类的一个改进和扩充,所以一般子类在功能上较父类更强大,属性较父类更独特, 定义一个父类类型的引用指向一个子类的对象既可以使用子类强大的功能,又可以抽取父类的共性。

如果解决了你的疑惑,请采纳,祝学习愉快~ 


  • 提问者 慕粉2337217088 #1
    嗯。。感谢回答。但你似乎没明白我的疑问:我的意思是3-14 3分48秒时的Animal temp什么意思啊
    2019-04-24 16:07:33
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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