Java 空白最终字段种子可能未被初始化。

Java 空白最终字段种子可能未被初始化。,java,Java,因此,我试图设置一个默认内存大小并创建一个启发式数组,但我不断得到错误“空白的最终字段种子可能尚未初始化”。aoHeuristics是一个启发式数组。我不确定我做错了什么 public class zoo_Problem extends ProblemDomain implements Visualisable { private final long seed; public int defaultSize; private HeuristicInterface[

因此,我试图设置一个默认内存大小并创建一个启发式数组,但我不断得到错误“空白的最终字段种子可能尚未初始化”。aoHeuristics是一个启发式数组。我不确定我做错了什么

public class zoo_Problem extends ProblemDomain implements Visualisable {

    private final long seed;

    public int defaultSize;

    private HeuristicInterface[] aoHeuristics;

    public zoo_Problem(long seed, int defaultSize) {

         super(seed);

         this.defaultSize = 5;

         int[][] aoHeuristics = { { 0, 1, 2 }, { 3, 4 }, { 5, 6 } };
    }

}

初始化
final
字段。将此行添加到构造函数:

     this.seed = seed;
如果您正在将
种子
传递给超类构造函数,您可能希望删除该字段

对于
aoHeuristics
,您需要为数组中的每个元素创建适当类型的新对象,以及创建数组并将其分配给字段


该语言不需要指定字段
aoHeuristics
,因为它不是
final
——它将是
null
,每当您尝试取消引用它时,您将得到一个
NullPointerException

ProblemDomain是什么样子?您希望在这两个位置都有相同的
种子
?我想你不应该在
zoo_Problem
中添加第二个种子,但我只是在猜测,没有看到
ProblemDomain
。您可以添加
this.seed=seed
超级(种子)并将其留到另一天。