父类的引用是可以指向子类的对象的

来源:10-1 Java 中的多态

XxSniper

2018-10-02 12:17

如何理解这句话,Animal obj2 = new Dog();创建的这个对象到底是父类的对象还是子类Dog的对象???

写回答 关注

5回答

  • qq_不过六级不改名i_opIMVZ
    2018-10-18 11:31:42
    已采纳

    这么说可能好理解一些:new Dog()这个语句代表的就时创建的一个Dog类的对象,此时内存已经分配了空间。然后前面的Animal obj2是用来给这个对象赋值的,因为obj2是一个引用,他代表的就是对象的内存。然后他是父类的,所以他是父类的引用。

    个人理解。

  • 慕圣7502695
    2019-01-13 18:25:26

    创建的是子类dog的对象,但是这个对象的类型是animal的类型,所以这个对象可以调用animal这个父类继承下来的方法和属性(子类重写的方法同样也可以),不能调用dog类所独有的方法。

    慕斯1062...

    thanks~

    2019-02-11 10:58:55

    共 1 条回复 >

  • 帅男青师
    2018-10-31 15:51:00

    Animal obj2 = new Dog()可以理解为:obj2可以引用子类从父类继承和重写的方法,但是不可以引用Dog类中所独有(父类中没有的)方法

  • 慕容6072474
    2018-10-24 10:34:25

    一只狗,你可以说他是一只狗,可以说他是一只动物。虽然说法不一样,改变不了他是狗的事实。

  • zdsg1024
    2018-10-03 10:11:50

    子类dog的对象

Java入门第二季 升级版

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

530556 学习 · 6091 问题

查看课程

相似问题