我是从“Head First Java”开始研究多态性并得出这个概念的。任何人都可以用一个例子解释一下吗?
编译器检查引用类型的类——而不是对象类型。
那么引用类型和对象类型有什么区别呢?
我是从“Head First Java”开始研究多态性并得出这个概念的。任何人都可以用一个例子解释一下吗?
编译器检查引用类型的类——而不是对象类型。
那么引用类型和对象类型有什么区别呢?
我不认为他们对“对象类型”和“引用类型”的使用是标准化的,但这是我的解释。
考虑这段代码:
Object o = new Integer(3);
参考是 o
类型Object
。它引用的对象是类型Integer
。
所以“引用类型”是Object
,“对象类型”是Integer
.
令人困惑的是,有一个(标准化的、官方的)术语“引用类型”封装了可以引用的类型。在 Java 中,包括所有类、枚举、接口、数组。它仅排除原始类型 ( int
, ...)。
这些术语的含义如下:
也许有些人会发现使用这些术语更容易理解。