定义
当应用程序试图在需要对象的地方使用 null 时,抛出该异常
出现空指针异常的前提条件是?
“空引用” 访问实例相关【对象相关】相关的数据时,都会出现空指针异常。
垃圾回收器: GC
在java语言中,垃圾回收器主要针对的是堆内存。
当一个java对象没有任何引用指向该对象的时候,
GC会考虑将该垃圾数据释放回收掉
public class NullPointerTest{
public static void main(String[] args) {
//创建客户对象
Customer c = new Customer();
//访问这个客户的id
System.out.println(c.id);
//重新给id赋值
c.id =9521;
System.out.println("客户的ID是="+c.id);
c = null;
//NullPointerException
//编译器没问题,因为编译器只是检查语法,编译器发现c是customer类型
// customer 类型中有id 属性,所有可以:c.id 语法过去
//但是运行的时候需要对象的存在,但是对象没了,就只能出现一个异常
System.out.println(c.id);
}
}
class Customer{
//客户id
//成员变量中的实例变量,应该先创建对象,然后通过"引用."的方式访问
int id;
}
代码运行内存图

5118

被折叠的 条评论
为什么被折叠?



