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变量。