对于向上转型不理解

对于向上转型不理解

Animal two=new Cat();

Animal three=new Dog();

听了课程后还是不太理解,以前所学都是Animal two=new Animal(),前后的Animal类一致,怎么在这里Animal的two存储的是Cat类对象的引用地址?

正在回答

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

2回答

同学你好,在这里同学可以先记住向上转型的定义,父类引用指向子类的对象。

具体的用法,场景会在之后的多态课程中有详细讲解~

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 鱼儿0001 提问者 #1
    我就是不懂才问的,我不理解父类的two指向子类Cat对象,two保存Cat对象的引用地址,是为什么
    2019-05-06 13:46:46
  • 鱼儿0001 提问者 #2
    重新听了课程也打了代码,我会开新的问答,这里就不问了。
    2019-05-06 15:03:27
吃吃吃鱼的猫 2019-05-04 17:37:17

同学你好,这就是向上转型的意义:父类的引用指向子类的对象。

其中two是Animal的引用,指向的是创建的Cat对象。

这样的意义是,当我们只知道这里有一只动物,但不知道具体是什么,这时就可以使用向上转型,先定义一个Animal的引用,当我们确定这个动物是什么的时候,再将这个引用指向具体的动物。

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~


  • 提问者 鱼儿0001 #1
    就是说,把Cat类的具体对象的地址给了父类的two这个key来保存地址? 老师的解释没看懂。我不懂,为什么要把子类Cat的具体对象的地址给父类的two来保存?是父亲把他儿子家的大门钥匙拿到的意思吗?拿到了这把钥匙,父亲是想干啥?搞不定时监视袭击?
    2019-05-05 18:03:53
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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