您可以通过在抽象类中的final字段中初始化其构造函数(未经测试的代码)来完成您描述的操作:
abstract class base { final String errMsg; base(String msg) { errMsg = msg; } abstract String doSomething();}class Sub extends base { Sub() { super("Sub message"); } String doSomething() { return errMsg + " from something"; }}如果您的子类“忘记”通过超级构造函数初始化最后一个,则编译器将发出 警告 错误,就像未实现抽象方法时一样。



