课程
/后端开发
/Java
/Java入门第二季 升级版
为什么Animal animal = dog是向上类型转换? 这句话是指将dog引用赋给animal引用, 是子类的引用要比父类的引用小么?
2015-03-27
源自:Java入门第二季 升级版 10-2
正在回答
向上类型转换的意思是: 小类型到大类型的转换 而你上面的表达式的意思是将右边的dog转换为animal 而显然 Dog和Animal是Dog继承于Animal的 因而说将Dog的对象dog转换为Animal的对象animal是将小类型转换为大类型 所以是向上类型转换 (我也是初学者 这是自己的理解 如果不对的话 请指出错误 大家一起进步!谢谢)
wswzh0329
怒放的生命012 回复 wswzh0329
Animla animal = Dog dog;之所以是向上转型,是因为Dog extends Animal ,子类型的范围比父类型的大,子类不只是animal,而且还有自己的特许属性或者行为
把子类转换成父类就算向上类型转换..
发条橙
你把代码贴出来啊...
举报
课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙
1 回答Animal animal = dog;//向下类型转换 自动类型转换 ???
3 回答这里animal animal=dog是什么意思?类型转换是啥
2 回答4-2节Animal类型和Dog类型的转换
4 回答引用多态的父类引用可以指向子类的对象,如Animal obj2=new Dog();,和向上类型转换,如Animal animal=dog;,怎么区别?
2 回答为什么我这样写 自动生成的是Animal other = (Animal) obj;转换成Animal类 而不是转换为Dog类