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

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

qq_汪星人_4

2018-02-28 15:56

dog a=new dog();

animal a2=a;

dog a=(dog)new animal();


写回答 关注

4回答

  • 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)

Java入门第二季 升级版

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

530649 学习 · 6091 问题

查看课程

相似问题