这是我的代码:
class Myclass {
private static int[] array;
public static void main(String[] args) {
Myclass m = new Myclass();
for (int i = 0; i < 10; i++) {
m.array[i] = i;
System.out.println(m.array[i]);
}
}
public Myclass() {
int[] array = new int[10];
}
}
尝试执行此操作时会抛出 java.lang.nullPointerException
:
m.array[i] = i;
有人能帮帮我吗?
最佳答案
你声明了一个局部变量array
在你的构造函数中,所以你实际上并没有初始化 array
在 Myclass
中声明.
您需要直接引用 array
在构造函数中。而不是
int[] array = new int[10];
使用这个
array = new int[10];
此外,您还声明了 array
static 在你的范围内 Myclass
类。
private static int[] array;
您只有一个 Myclass
实例在这里,所以没关系,但通常这不会是静态的,如果你在构造函数中初始化它。你应该删除 static
:
private int[] array;
关于Java - 通过类中的方法更改数组的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17098052/