Java 抽象中未初始化的常量 class
Java uninitialised constants in an abstract class
我正在写摘要class。扩展这个 class 的 classes 将始终使用常量 A_CONSTANT
,但是 A_CONSTANT
的值对于每个子 class 是不同的。 subclasses 也将实现方法useConstant
。此实现对于每个子 class 都是相同的,除了 A_CONSTANT
的值会有所不同。最好我想在摘要 class 中实现 useConstant
,但会产生错误,因为 A_CONSTANT
尚未在摘要 class.
中初始化
public abstract class AbstractClass {
public static final int A_CONSTANT;
public void useConstant(int value) {
if (value > A_CONSTANT)
// do something
}
}
有什么办法解决这个问题,还是我必须在每个子 class 中提供 useConstant
的实现?
你可以有一个抽象方法getConstant
,那么所有的子类都必须实现它
我正在写摘要class。扩展这个 class 的 classes 将始终使用常量 A_CONSTANT
,但是 A_CONSTANT
的值对于每个子 class 是不同的。 subclasses 也将实现方法useConstant
。此实现对于每个子 class 都是相同的,除了 A_CONSTANT
的值会有所不同。最好我想在摘要 class 中实现 useConstant
,但会产生错误,因为 A_CONSTANT
尚未在摘要 class.
public abstract class AbstractClass {
public static final int A_CONSTANT;
public void useConstant(int value) {
if (value > A_CONSTANT)
// do something
}
}
有什么办法解决这个问题,还是我必须在每个子 class 中提供 useConstant
的实现?
你可以有一个抽象方法getConstant
,那么所有的子类都必须实现它