我有类似的东西:
public class A{
public static B[] bObj;
public A(){
bObj = new B[2]; // create array of objects of class B
}
public static void main(String[] args){
A aObj = new A();
for(i=0;i<2;i++){
bObj[i].testprint();
}
}
}
class B{
public testprint(){
System.out.println("Inside testprint()");
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行它时,我在bObj [i] .testprint()处得到NullPointer异常.我确实在A的构造函数中做了新的B()但是我不知道为什么它不起作用.
了解初始化一个引用数组,并没有真正初始化其中的引用.他们还在null.您需要通过迭代数组来初始化它们.
public A(){
bObj = new B[2];
for (int i = 0; i < bObj.length; ++i) { bObj[i] = new B(); }
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
839 次 |
| 最近记录: |