空指针异常
空指针异常(java.lang.NullPointException)作为java中的一个经典异常,对于我们这些小白来说真的是家常便饭,
今天我们就来详解一哈。
造成此异常的主要原因:
当一个空引用访问实例相关的数据时发生。对于引用这个概念不清楚的同学可以看看我之前在面向对象那一节写的博客。
首先我们要了解创建对象时JVM内存中到底发生了什么?
还是以学生类为例
这是我定义的类和创建的对象,name空指针异常是如何造成的呢?
在正常情况下,创建对象后引用s会保存一个内存地址,假设我现在调的是name,
s指向堆内存中的Student对象里面的name
当引用s为null时,保存的内存地址没有了,引用s就成了一个空指针;当内存地址为空后,
就无法指向想要调用的实例变量,就会产生空指针异常
---恢复内容结束---