为什么Animal animal = dog 是向上类型转换?

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

znq

2015-03-27 19:07

为什么Animal animal  = dog是向上类型转换? 这句话是指将dog引用赋给animal引用, 是子类的引用要比父类的引用小么?

写回答 关注

4回答

  • 古__月
    2015-04-02 22:53:04

    向上类型转换的意思是: 小类型到大类型的转换      而你上面的表达式的意思是将右边的dog转换为animal    而显然   Dog和Animal是Dog继承于Animal的    因而说将Dog的对象dog转换为Animal的对象animal是将小类型转换为大类型   所以是向上类型转换    (我也是初学者  这是自己的理解  如果不对的话  请指出错误   大家一起进步!谢谢)

    怒放的生命0... 回复wswzh0...

    问下是animal 转换成dog类型后么,二者的地址是一样的??????

    2016-05-23 21:07:51

    共 2 条回复 >

  • zach007
    2015-03-28 01:17:46

    Animla animal = Dog dog;之所以是向上转型,是因为Dog extends Animal ,子类型的范围比父类型的大,子类不只是animal,而且还有自己的特许属性或者行为

  • 发条橙
    2015-03-27 19:31:25

    把子类转换成父类就算向上类型转换..

    发条橙

    应该说把子类类型的对象转换成父类类型.

    2015-03-27 19:32:21

    共 1 条回复 >

  • ybbzbb
    2015-03-27 19:10:52

    你把代码贴出来啊...

Java入门第二季 升级版

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

530636 学习 · 6091 问题

查看课程

相似问题