Java 错误:未为默认构造函数定义隐式超级构造函数
我有一些简单的Java代码,其结构与此类似:
abstract public class BaseClass {
String someString;
public BaseClass(String someString) {
this.someString = someString;
}
abstract public String getName();
}
public class ACSubClass extends BaseClass {
public ASubClass(String someString) {
super(someString);
}
public String getName() {
return "name value for ASubClass";
}
}
我将有相当多的子类,每个子类都以自己的方式实现方法(模板方法模式)。BaseClass
getName()
这很有效,但我不喜欢在子类中使用冗余构造函数。打字更多,维护起来也难。如果我要更改构造函数的方法签名,则必须更改所有子类。BaseClass
当我从子类中删除构造函数时,我得到这个编译时错误:
Implicit super constructor BaseClass() is undefined for default constructor. Must define an explicit constructor
我想要做的事情是可能的吗?