课程
/后端开发
/Java
/Java入门第二季 升级版
为什么在注释掉Animal(),创建一个Animal(int age)后,在子类Do类中中会报错,前面不是还有一个不带参数的eat()方法吗?
2015-04-08
源自:Java入门第二季 升级版 9-7
正在回答
Animal(int age)是构造方法,而eat()是普通方法,不一样的。
构造方法是方法中的特殊的一种。
调用时没有用显式super
而构造方法又没有无参的(被注释了)。
所以符合报错的条件。
eat()是方法,而Animal()是构造函数,两者不一样
你在子类中是不是调用父类的默认构造函数了?如果说你在父类中定义了一个有参数的构造函数,那么系统就不会生成无参数构造函数了,那么你在子类中调用的时候需要调用的是有参的构造函数,那么你还要传递参数
举报
课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙
3 回答请教一个小问题,我没看懂
1 回答似懂不懂的状态下,一些问题。
1 回答有一步看不懂?
2 回答有一句话不太懂
1 回答请问一下我这个作业有啥问题吗?