求问为什么这里动物具有吃东西的能力是最后才输出的?

来源:9-4 Java 中的继承初始化顺序

Jushren

2018-05-18 11:07

求问为什么这里动物具有吃东西的能力是最后才输出的?按照构造方法的先后顺序,eat方法是最先输出才对的啊,第二输出Animal方法,第三输出子类的Dog方法,为什么在这里eat方法是最后才输出的呢?  都是初始化块

写回答 关注

1回答

  • 牙膏牙膏牙膏
    2018-05-18 13:45:18
    已采纳

    public void eat(){}是这个类的一个方法,需要对象.eat()才能使用,构造方法是在new一个对象的时候就会执行。

    所以,Dog dog = new Dog();这句话先执行了Dog的父类Animal的构造方法,然后执行了Dog这个类的构造方法。
    然后下面有一句,dog.eat();这句话才是执行eat方法,就是你说的“动物具有吃东西的能力”。

    Jushre...

    非常感谢!

    2018-05-21 10:57:54

    共 1 条回复 >

Java入门第二季 升级版

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

530667 学习 · 6091 问题

查看课程

相似问题