null 表示不指向任何的有效对象.
索引越界
找不到索引3 , 会报错.
空指针异常
arr = null 执行前.
arr = null 执行后, 把null 赋值给arr , 001被替换掉了.
那么 null 就不会再指向堆内存中的地址001, 所以现在null 和 堆内存中的001 就不存在关联了.
arr = null 这行代码执行完成之后, 内存的情况就如下图所示.
现在再想访问到arr[0] 里面的元素, 没有了地址, 就找不到堆内存中的地址, 也就找不到索引对应的值.
这是如果强行去访问, 就会报错.
代码演练
数组索引越界异常
报错:
空指针异常
报错



