Java对象数组

Mar*_*tes 1 java arrays object

我是Java的新手,我在使用对象数组时遇到了麻烦,答案可能很简单,但我看不到它.

我有一个名为Vectors的类和一个名为set_components()的函数我尝试做的是创建一个这样的对象数组:

Vectors[] vec = new Vectors[2];
Run Code Online (Sandbox Code Playgroud)

//然后像这样访问函数:

vec[0].set_components();
Run Code Online (Sandbox Code Playgroud)

但是我得到这个错误:线程"main"中的异常java.lang.NullPointerException为什么会这样?

如果我只为一个对象执行此操作,它就可以工作.

Vector vec = new Vector();
vec.set_components();
Run Code Online (Sandbox Code Playgroud)

Hov*_*els 5

您的数组已经构建但没有任何内容,带有空引用.如果您在使用实例填充数组之前尝试使用数组中的项目,那么您将看到正如您所见的NPE.想象一个像蛋箱一样的物体阵列.您必须首先用鸡蛋(Vector对象)填充它,然后才能使用它们制作煎蛋卷.通常这是通过for循环完成的.

for (int i = 0; i < vectors.length; i++) {
  vectors[i] = new Vector();
}
Run Code Online (Sandbox Code Playgroud)