java使用类数组 报错Exception in thread "main" java.lang.NullPointerException

转载。

参考来源链接:

https://zhidao.baidu.com/question/494551043.html

https://www.cnblogs.com/iAmSoScArEd/p/9762674.html

可能有以下几种情况发生空指针异常:解释是"程序遇上了空指针"。简单地说就是调用了未经初始化的对象或者是不存在的对象,这个错误经常出现在创建图片,调用数组这些操作中,比如图片未经初始化,或者图片创建时的路径错误等等。对数组操作中出现空指针。数组的初始化是对数组分配需要的空间,而初始化后的数组,其中的元素并没有实例化,依然是空的,所以还需要对每个元素都进行初始化(如果要调用的话)

示例:

源代码如下:

        Point[] points=new Point[n];//Point是一个类
        for(int i=0;i 
  

报错信息如下:

Exception in thread "main" java.lang.NullPointerException
at test.Main.zjd(Main.java:29)
at test.Main.main(Main.java:9)

分析:

Point[] points=new Point[n];//在定义完类数组后原以为可以直接用如上代码直接使用,但是报如上错误。
于是将29行设置成断点,开始Debug
运行到这里时我就发现了问题:

在变量列表中发现points[0],points[1]的value都是null

猛的一看似乎没什么问题,但是仔细想想,数组中的每个元素都是一个对象啊,既然是对象我们没有对他进行分配空间(没有new)又怎么去使用呢。

修改后的代码:

        Point[] points=new Point[n];
        for(int i=0;i 
 

你可能感兴趣的:(Java)