好吧,我可能在做一些愚蠢的事情,但我一直无法弄清楚什么。我需要创建一个具有初始容量的全局数组,但似乎每当我尝试时,都会引发一些错误。现在,我有:不识别全局阵列
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)时,我可能会搞砸一些东西,因为我以前从来没有用过这种方式,但是我还没有找到任何东西来帮助我找出问题所在。
停止不做任何事情,但静态变量。在你的主体中,创建列车实例(列车列车=新列车()),并在列车实例上调用方法。把所有东西打成主要或静态是一种可怕的坏模式。 – pczeus
您还需要提供确切的错误以及它发生的行。 – pczeus