问答详情
源自:9-7 Java 中的 super 的使用

我有一个问题不懂

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

提问者:青椒大叔 2015-04-08 21:56

个回答

  • 帅弟弟
    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

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