抽象类中的 Java 未初始化常量

标签 java abstract

我正在写一个抽象类。扩展此类的类将始终使用常量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/

相关文章:

Java Swing 分层 Pane 未显示其自身或其内容

java - 将文件传输到客户端java后保持套接字连接打开

c++ - 使用抽象类 boost 二进制序列化问题

c++ - 如何在不指定模板类型的情况下声明通用抽象类的对象

java - MyBatis 中选择时处理空值

Java通过格式化文件输入

java - Java 公历日历和日期格式

class - F# 类的带元组参数的默认方法

testing - 默认情况下将 Moq CallBase 设置为 true

c++调用函数返回的抽象类的方法