还有一个特殊的空值类型,表达空 (§3.10.7,§15.8.1),其没有名称的类型。
因为null类型没有名称,所以不可能声明空类型的 变量或转换为空类型。
空引用是空值 类型表达式的唯一可能值。
空引用总是可以经历扩展引用转换 到任何引用类型。
在实践中,程序员可以忽略null类型,只是假装 即空只是一个特殊的文本,可以是任何参考 类型。
如果null真的可以是任何引用类型,那么为什么IS-A测试失败? 即
null instanceof Object //returns false
OR
null instanceof String //returns false
如果instanceof的第一个操作数总是为null,则'instanceof'返回'false'。 – Maroun 2015-02-11 08:10:49
在您的示例中,null可以是任何类型。我不完全确定,但是如果将它们更改为'(Object)null instanceof Object'和'(String)null instanceof String'或'Object o = null; instanceof Object'和'String s = null; s instanceof String'它应该返回true。 – 2015-02-11 08:11:29
它已经被回答了:http://stackoverflow.com/questions/19336608/what-does-null-mean/19336626#19336626 – alfasin 2015-02-11 08:11:42