我正在写一个抽象类。扩展此类的类将始终使用常量A_CONSTANT
,但A_CONSTANT
的值对于每个子类是不同的。子类还将实现方法useConstant
。除了A_CONSTANT
的值不同之外,每个子类的实现都是相同的。我希望在抽象类中实现useConstant
,但是会产生错误,因为A_CONSTANT
尚未在抽象类中初始化。
public abstract class AbstractClass {
public static final int A_CONSTANT;
public void useConstant(int value) {
if (value > A_CONSTANT)
// do something
}
}
有没有解决方法,或者我是否必须在每个子类中提供useConstant
的实现?
提前谢谢!
答案 0 :(得分:7)
您可以使用抽象方法getConstant
,然后所有子类都必须实现它