1.null是Java中的關鍵字,像public、static、final。它是大小寫敏感的,你不能將null寫成Null或NULL,編譯器將不能識別它們然后報錯。
2.null是任何引用類型的默認值,不嚴格的說是所有object類型的默認值。這對所有變量都是適用的,如成員變量、局部變量、實例變量、靜態變量
3.null既不是對象也不是一種類型,它僅是一種特殊的值,你可以將其賦予任何引用類型,你也可以將null轉化成任何類型
4.null可以賦值給引用變量,你不能將null賦給基本類型變量,例如int、double、float、boolean。如果你那樣做了,編譯器將會報錯;但是如果將null賦值給包裝類object,然后將object賦給各自的基本類型,編譯器不會報錯
5. 任何含有null值的包裝類在Java拆箱生成基本數據類型時候都會拋出一個空指針異常。
6.如果使用了帶有null值的引用類型變量,instanceof操作將會返回false
7.不能調用非靜態方法來使用一個值為null的引用類型變量。它將會拋出空指針異常;可以使用靜態方法來使用一個值為null的引用類型變量。因為靜態方法使用靜態綁定,不會拋出空指針異常。
8.你可以將null傳遞給方法使用,這時方法可以接收任何引用類型
9.你可以使用==或者!=操作來比較null值,但是不能使用其他算法或者邏輯操作,例如小於或者大於。跟SQL不一樣,在Java中null==null將返回true
總而言之,記住,null是任何一個引用類型變量的默認值,在java中你不能使用null引用來調用任何的instance方法或者instance變量。