为什么我只要加上dog.eat()就不能同时输出 animal类被输出和 dog类被输出?

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

weixin_慕粉117217

2019-02-01 13:36

public class Animal {

public int age=10;

public String color; 

    public void eat() {

System.out.println("动物会吃东西!");

}

    public Animal() {

    System.out.println("Animal类执行了!");

    age=20;

    }


}



public class Dog extends Animal {

public Dog() {

System.out.println("Dog被执行了!");

}

}


public class Initial {

public static void main(String[] args) {

// TODO Auto-generated method stub

  Dog dog=new Dog();

   dog.eat();    

}

}


输出结果是:

Dog被执行了!

动物会吃东西!


写回答 关注

1回答

  • 慕盖茨6847738
    2019-05-07 11:20:24

    正确的输出结果为:

    Animal类执行了!

    Dog被执行了!

    动物会吃东西!

    我怀疑你少复制了第一行

Java入门第二季 升级版

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

531020 学习 · 6151 问题

查看课程

相似问题