为了账号安全,请及时绑定邮箱和手机立即绑定

关于向上转换的疑问

Aniaml animal = dog

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

正在回答

4 回答

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

1 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

关于向上转换的疑问

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信