null是什么意思?

St.*_*rio 1 java null

据我所知,nullT所有参考类型的实例T.

问题1.什么是捍卫null?如何null代表记忆?

考虑以下情况:我们定义了类

public class MyClass{
    Integer i;
}
Run Code Online (Sandbox Code Playgroud)

现在null可以转换为MyClass,但我没有明确定义.

问题2.从什么编译器知道null可以转换为MyClass

alf*_*sin 11

null其实不是instanceof什么!

Java语言规范(第15.20.2节)中的instanceof运算符:

在运行时,如果RelationalExpression的值不为null并且引用可以在不引发ClassCastException的情况下将引用(第15.16节)转换为ReferenceType ,则instanceof运算符的结果为true .否则结果是错误的.

4.1.类型和价值的种类

有两种类型的Java编程语言:基本类型(4.2节)和引用类型(第4.3节).相应地,有两种数据值可以存储在变量中,作为参数传递,由方法返回,并在以下操作:原始值(§4.2)和参考值(§4.3).

类型:PrimitiveType ReferenceType还有一个特殊的null类型,表达式的类型为null(§3.10.7,§15.8.1),它没有名称.

由于null类型没有名称,因此无法声明null类型的变量或转换为null类型.

空引用是null类型表达式的唯一可能值.

null引用总是可以进行任何引用类型的扩展引用转换.

实际上,程序员可以忽略null类型,只是假装null只是一个可以是任何引用类型的特殊文字.


Mar*_*nik 10

形式上,null是该null类型的单例成员,它被定义为每个其他Java类型的子类型.

null是一个引用类型,它的值是唯一不引用任何对象的引用值.因此,null在记忆中没有任何表示.值为的引用类型变量的二进制值null简单为零(全为零位).尽管没有明确指定,但它遵循对象的一般初始化语义,任何其他值都会导致实现出现重大问题.