“Animal animal = dog”,那么这个“animal"对象应该属于Animal类,还是Dog类?

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

HYi12

2019-06-09 21:19

这课学完有些不确定,如果“Animal animal = dog”,那么是不是说这个新创建的animal对象,属于Animal类,但执行Dog类的初始化命令呢?

如果是这样,和”Animal animal = new Dog();  animal = dog“有何区别?还是等价的关系?

写回答 关注

2回答

  • 书山火海
    2019-06-10 11:40:15

    另外  你最后animal = dog这句话好像没有这种语法

  • 书山火海
    2019-06-10 11:35:26

    我说说我的看法,Animal 是一个父类 Animal animal = new Dog();这句话是创建了一个Dog对象 而Dog继承Animal, 至于后面的 animal=dog你是想表达给animal赋一个dog的值?

    一路xian... 回复HYi12

    是的,创建对象的时候,对象的类型主要看new后面的,new Dog(),则表示创建一个Dog类的对象。

    2019-07-07 17:37:58

    共 2 条回复 >

Java入门第二季 升级版

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

530636 学习 · 6091 问题

查看课程

相似问题