不太理解Animal obj2=new Dog()?

来源:10-1 Java 中的多态

奶尤糯米团子

2020-02-09 19:06

父类引用指向子类对象,这个obj2到底是父类的对象还是子类的对象呀?使用子类的构造方法创建对象为什么不可以引用子类独有的方法呢?

写回答 关注

3回答

  • qq_慕先生5365347
    2020-02-10 17:05:13
    已采纳

    父类的哦,我大概懂你的意思,用子类引用也是可以的,一般来说有继承关系的话,使用父类引用子类对象会更好的展示多态性

    白枫999

    请问这样做有什么用呢,既然继承了父类那直接引用子类创建子类对象也可以使用父类的方法,重写方法之后用的也是子类的方法,那为什么还要引用父类创建指向子类呢?

    2020-03-25 11:46:49

    共 1 条回复 >

  • 慕虎2096416
    2020-04-29 21:50:54

    这个是obj2是引用父类给子类创建的对象。打个比方,儿子继承父的财产和儿子打拼的财产是不同的,在法院判决的时候是不会把儿子打拼的财产跟继承的财产一起收税的。如果你创建一个子类独有的对象就可以调用这个独有的方法。

  • blowwind
    2020-04-14 18:35:16

    如果你在很多地方使用了这个子类对象,比如狗这个对象,但是后来你想把狗的对象换成猫的对象,如果直接使用子类引用的话,所有的狗对象的引用都需要改变,工作量巨大,如果使用的是父类的引用,你只需要修改父类的引用对象就行,而不用替换其他地方。

Java入门第二季 升级版

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

530636 学习 · 6091 问题

查看课程

相似问题