【发布时间】:2019-12-05 14:49:19
【问题描述】:
我无法编译此代码。
class Horse {
private int age;
Horse(int age) {
this.age = age;
}
}
class Pony extends Horse {
private int age;
Pony(int age) { //here compiler complains about no default constructor in parent class
this.age = age;
}
}
我知道当父类只有带参数的构造函数时,你必须为子类定义构造函数,这就是我所做的。但是,编译器抱怨父类没有默认构造函数。
我是否可以得出这样的结论:父类总是需要默认或无参数构造函数?如果我希望父类和子类只有带参数的构造函数怎么办?
【问题讨论】:
标签: java inheritance parameters constructor default-constructor