请大家帮忙看看下面这段代码,我将星号之间的代码注释掉之后,运行则抛出异常java.lang.NullPointerException 。这个异常的原因是没有初始化还是没有实例化?然后
两个“new”(就是Data []d=new Data[3];还有d[i]=new Data();)分别起了什么作用,可以将它们精简为一个吗?谢谢O(∩_∩)O~
public class Test {
public static void main(String[] args) {
Data []d=new Data[3];
/*****************/
//注释掉这一部分则有异常:java.lang.NullPointerException
for(int i=0;i<3;i++){
d[i]=new Data();
}
/******************/
d[0].getData();
}
}
class Data{
boolean a=false;
public boolean getData() {
return a;
}
public void setData(boolean a) {
this.a = a;
}
}