繁体   English   中英

在另一个类中调用方法时,Java空指针异常

[英]Java null pointer exception while calling method in another class

我有类似的东西:

       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()");
    }
}

运行此命令时,在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(); }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM