课程
/后端开发
/Java
/Java入门第二季 升级版
为什么dog就可以强制类型转换,而cat就不行?不都是动物的子类么?
2019-09-05
源自:Java入门第二季 升级版 10-2
正在回答
因为你没有创建cat类型的对象你创建cat对象就可以强制转换
Cat cat= new Cat();创建这个就可以转换了;
能不能转换请查看instanceof....你明白了这个关键字,就明白原因了。
他们都是动物 所以猫狗都阔以转化为动物 但猫狗之间不能转化 物种不同
【对象dog】转换成【对象animal】,两个对象的地址是一致的“Dog@……”
Cat类的对象,运行时引用的是应该是“Cat@……”的地址
qq_慕九州123895
回锅锅包肉 回复 qq_慕九州123895
他是将dog对象转换为父类对象animal,子类可以转换为父类,初始对象是dog,dog跟cat类是同级别的,所以不能转换为cat类
举报
课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙
4 回答本节例题中animal可以强制转换成Dog类,为什么不能强制转换成Cat类?Cat类和Dog类都是Animal类的子类啊。
3 回答dog无法强制类型转换
4 回答不明白为什么不能转化为Cat类型,但是可以转化为Dog类型
2 回答为什么转换成dog可以,而不能转换成cat
6 回答为什么我的父类和转换为子类就出错,不能强制转换啊?