问答详情
源自:10-2 多态中的引用类型转换

如下两段语句的意思是否相同?

dog a=new dog();

animal a2=a;

dog a=(dog)new animal();


提问者:qq_汪星人_4 2018-02-28 15:56

个回答

  • qq_一只小小鸟_0
    2018-06-02 21:33:56

    不一样.一个是向上自动转型

    一个是向下强制转型

  • qq_苦笑释怀_0
    2018-04-24 16:59:29

    上面的是把一个dog对象转换成Animal对象,下面的是把Animal对象强制转换成dog对象。animal包含dog,dog转成animal是没有问题的,但是animal转换成dog就存在溢出问题(即只有dog能够转换成功,其余cat等不能)

  • 御行
    2018-04-06 21:31:22

    不一样

  • qq_汪星人_4
    2018-02-28 15:57:17

    或者不要(dog)