我有一些简单的 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
我想做的事有可能吗?