我有一个问题不懂

来源:9-7 Java 中的 super 的使用

青椒大叔

2015-04-08 21:56

为什么在注释掉Animal(),创建一个Animal(int age)后,在子类Do类中中会报错,前面不是还有一个不带参数的eat()方法吗?

写回答 关注

4回答

  • 帅弟弟
    2015-07-20 20:54:07

    Animal(int age)是构造方法,而eat()是普通方法,不一样的。

  • 放学路上的小学生
    2015-04-24 21:57:39

    构造方法是方法中的特殊的一种。

    调用时没有用显式super

    而构造方法又没有无参的(被注释了)。

    所以符合报错的条件。

  • jarvisjin
    2015-04-12 21:26:27

    eat()是方法,而Animal()是构造函数,两者不一样

  • 康振宁
    2015-04-09 10:06:26

    你在子类中是不是调用父类的默认构造函数了?如果说你在父类中定义了一个有参数的构造函数,那么系统就不会生成无参数构造函数了,那么你在子类中调用的时候需要调用的是有参的构造函数,那么你还要传递参数

Java入门第二季 升级版

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

530560 学习 · 6091 问题

查看课程

相似问题