java中什么是空指针异常以及为什么会产生空指针异常

空指针异常是什么意思?

       这里我们首先要明确什么是指针,指针指的是什么?

指针:指针存放的是内存地址

那什么是空?
       举个例子:小明过生日,小华送给了小明一个“礼物”,这个“礼物”只有一个外面的包装但是里面什么都没有,这个礼物就是"",而空则是小华压根没有给小华准备礼物,这个就是null。

空指针:所以当指针不指向任何内存地址时,就叫做空指针,例如:int[] array = null

那么什么叫做空指针异常呢?
       就是一个指针不指向任何内存地址,但是你还调用他了,例如:

int[] array = null; 
System.out.println(array[0]);

这个时候原本array数组是个空指针,没有创建新的对象,在调用这个数组的时候就会产生空指针异常的错误!
程序运行会显示Exception in thread "main" java.lang.NullPointerException的异常提示

为什么会产生空指针异常呢?

这里我们用上面举的例子进行说明,int[] array = null在内存中的栈内存中开辟了一个的存储空间叫做array,而堆内存中并没有开辟int类型的数组空间,所以在栈内存中的array中没有存放任何内存地址,由此我们可以理解为什么会产生空指针异常,调用没有的东西显然时不可以的。

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 酷酷鲨 设计师:CSDN官方博客 返回首页