如何理解课程代码中的Animal obj1 = new Dog();是在Dog类的内存中开辟一段内存创建了一个Animal 类的obj1对象吗?

来源:10-1 Java 中的多态

澄澈大叔

2018-09-20 21:44

如何理解课程代码中的Animal obj1 = new Dog();是在Dog类的内存中开辟一段内存创建了一个Animal 类的obj1对象吗?

obj1创建出来到底是Animal类还是Dog类?

写回答 关注

3回答

  • 慕桂英8019954
    2018-09-20 23:15:24
    已采纳

    Animal类

    肥宅风见啸 回复澄澈大叔

    表名使用的是子类的对象空间,引用是父类引用,因此如果方法重写了,你用的也是子类重写后的方法

    2018-09-28 15:32:27

    共 2 条回复 >

  • 肥宅风见啸
    2018-09-28 15:31:10

    声明的是父类,但是实际上是使用的子类的对象空间

  • Paper_Pen
    2018-09-23 00:26:50

    用父类创建子类对象

Java入门第二季 升级版

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

530715 学习 · 6091 问题

查看课程

相似问题