Animal animal = dog;的含义

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

小安琪最无敌

2015-04-07 20:34

a = 1;   是把1赋给a,那么

Animal animal = dog;  是把dog的所有属性赋给animal还是别的意思?

写回答 关注

4回答

  • 无敌的大鹏鸟
    2015-08-03 12:27:52

    这里是强制类型转换,将animal强制转换为Dog类,并用dog2标识,属于向下类型转换,存在风险

    怒放的生命0...

    刚才animal不是已经转换成Dog类型了么,为什么 dog2是Dog类型 ,还要进行数据强制转换呢

    2016-05-23 21:04:01

    共 1 条回复 >

  • 无敌的大鹏鸟
    2015-07-30 12:23:54

    不知道不要乱回答好吧。Dog类中可以有很多对象,dog只是其中的一个对象,Animal中也是可以有很多对象。

    Animal animal = dog;

    的意思是把Dog类中名为dog的对象利用向上类型转换,转换成Animal类并 用animal来标识,其实animal是在Animall类中的一个新名字,但是还是dog本身。

    打个比方:你在家里是小明,属于你家里称呼,你家可能还有其他孩子。你到了你家族中会有你 族名,这名字标识你在家族的称呼,其实这两个都是你。

    qq__87...

    请教一下Dog dog2 =(Dog) animal;的含义

    2015-08-03 10:39:02

    共 1 条回复 >

  • 放学路上的小学生
    2015-05-09 12:29:49

    int  a = 6;

    和上面的一个意思喽。

    把dog赋值给animal,animal的类型是Animal。


  • LAN蓝
    2015-04-07 20:46:28

    应该是建立的对象animal可调用和重写dog的所有属性

Java入门第二季 升级版

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

530636 学习 · 6091 问题

查看课程

相似问题