定義
當應用程序試圖在需要對象的地方使用 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;
}