我正在写一个抽象类。扩展此类的类将始终使用常量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
的实现?
最佳答案
你可以有一个抽象方法getConstant
,然后所有的子类都必须实现它
关于抽象类中的 Java 未初始化常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49500423/