我的 Java 代码出现运行时错误,我试图了解其背后的原因。双星号之间的两个静态访问修饰符是有问题的项目。代码在有或没有这些修饰符的情况下编译(当然删除了星号)。但是在运行时,它只有在存在修饰符时才会运行而不会出错。为什么是这样?当静态修饰符不存在时在运行时生成的错误粘贴在代码下方。非常感谢你的帮助!
这是代码:
public class Blue {
public int[][] multiArray(int x, int y){
int[][] myArray = new int[x][y];
return myArray;
}
static Blue blueObject = new Blue();
public **static** int[][] one = blueObject.multiArray(3,3);
public **static** int[][] two = blueObject.multiArray(3,3);
public static void main(String[] args){
System.out.println("Hello world!");
}
}
没有静态访问修饰符的运行时生成的错误:
Exception in thread "main" java.lang.ExceptionInInitializerError
Caused by: java.lang.NullPointerException
at Blue.<init>(Blue.java:13)
at Blue.<clinit>(Blue.java:11)