Dog dog2=animal无法执行

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

慕UI9218351

2019-10-19 11:10

在代码中Dog dog=new Dog();是创建一个Dog类的dog对象,Animal animal=dog;是把Animal类的animal对象强制转换成Dog类的animal对象,那么为什么Dog dog2=animal不能转换成功?前面不是已经把animal转换成Dog类型了吗?那为什么就不能转换呢?为什么非要先把animal强制转换成Dog类型呢,前面难道没有转换?

写回答 关注

1回答

  • 慕先生7064480
    2019-10-19 23:07:19

    前面是把Dog对象转换成Animal对象,自动类型转换。Dog dog2 = animal是把Animal对象转换成Dog对象,强制类型转换。


Java入门第二季 升级版

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

530105 学习 · 6086 问题

查看课程

相似问题