阵列没有在构造函数中实例化



我不明白为什么我的数组未在构造函数中实例化。

这是我的代码的示例:

public class sandBox {
    int array[];
    int x;
   public void sandBox() {
       array = new int[5];
       x = 0;    
   }
  public static void main(String[] args) {
      sandBox test = new sandBox();
      int arrayTest[];
      arrayTest = new int[10];
      System.out.println(arrayTest.length);
      System.out.print(test.x);
      System.out.print(test.array.length);
   }
}

这是我的运行时间给我的:

----- jgrasp exec:java sandbox

10

0

线程中的异常" main" java.lang.nullpointerexception

在sandbox.main(sandbox.java:21)

----- jgrasp wedge2:流程的退出代码为1。

----- jgrasp:完成操作。

自然地正确打印了arraytest.length,表明该错误不在我的语法中。

test.x也正确打印,显示我的构造函数Sandbox()也"工作",因为它实例化x(a int)。

但是,一旦我们需要打印test.array.length,我就会得到空指针错误。为什么?数组不是长度为5?

实例化

从"构造函数"中删除 void:)

oof!

正如Jorn Vernee所指出的那样,我的构造函数不再是构造函数,因为我添加了空白!通过摆脱空白,解决了所有问题!

相关内容

  • 没有找到相关文章