【发布时间】:2016-06-02 13:11:45
【问题描述】:
好的,我可能在做一些愚蠢的事情,但我无法弄清楚是什么。我需要创建一个具有初始容量的全局数组,但似乎每当我尝试时,它都会引发一些错误。现在我有:
public class Trains {
private static final int INITIAL = 30;
private static Integer[] train1, train2, train3, train4, train5, train6 = new Integer[INITIAL];
public Trains(){ //constructor
train2[0] = 4;
}
public static void move(){
System.out.println(train2[0]);
}
当我运行它时,当它尝试输出 train2[0] 时,我得到一个空指针异常,即使我初始化了它。我也试过这个:
private static final int INITIAL = 30;
private static Integer[] train1, train2, train3, train4, train5, train6;
public Trains(){ //constructor
train1, train2, train3, train4, train5, train6 = new Integer[INITIAL];
train2[0] = 4;
}
但是它告诉我 train1 到 train6 无法解析为类型。
我在尝试设置新的 Integer(INITIAL) 时可能搞砸了,因为我以前从未使用过它,但我还没有找到任何东西来帮助我找出问题所在。
【问题讨论】:
-
除了静态变量什么都不做。在您的主目录中,创建一个火车实例 (Trains trains = new Trains()) 并在火车实例上调用方法。将所有内容都堆放在 main 或 static 中是一种非常糟糕的模式。
-
您还需要提供确切的错误及其发生的行。
标签: java arrays eclipse nullpointerexception global-variables