关于向上转换的疑问

来源:10-2 多态中的引用类型转换

宝慕林9160084

2018-08-27 09:24

Aniaml animal = dog

为什么父类型比子类型大,如果子类中有父类没有的方法呢?大小具体是怎么确定的

写回答 关注

3回答

  • 慕斯0752781
    2018-09-29 17:53:49

    我的理解:先看第一句先创建了dog对象,记住是dog对象,这句你可以这么理解—狗是动物,向上转换就是这样,向下转换你可以这样说,动物是狗,是不是觉得有问题!但这里创建对象是狗,向下有了一个对象,向下转换的时候可以这么理解—这个动物是狗,那就没问题了。后面说猫为什么不行,这个动物是猫。但是你创建的对象是狗,所以不对!

  • 慕清岭
    2018-09-29 15:08:28

    同样不明白这一句,Aniaml animal = new Animal();是创建一个animal对象,这等于dog是什么意思,创建一个dog对象?还是之前创建的dog向上转换类型称为animal对象?真绕

  • qq_追逐梦想_4
    2018-08-27 11:07:45

    emmmm,先有父亲才会有儿子啊,所以肯定是父类型比子类型大,然后父类只是引路人,不同的儿子会有不同的具体实现,儿子可以自己增加一些方法,大小随自己怎么安排。

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530560 学习 · 6091 问题

查看课程

相似问题