对象类型和引用类型之间的差异
我正在研究“Head First Java”中的多态性并得出了这个概念。 有人可以用一个例子来解释吗?
编译器检查引用类的类 – 而不是Object类型。
那么参考类型和对象类型有什么区别?
我不认为他们对“对象类型”和“参考类型”的使用是标准化的,但这是我的解释。
考虑以下代码:
Object o = new Integer(3);
引用 o
的类型为Object
。 它引用的对象是Integer
类型。
所以“引用类型”将是Object
,“对象类型”将是Integer
。
令人困惑的是,有(标准化的,官方的)术语“ 引用类型 ”封装了可以引用的类型 。 在Java中包含所有类,枚举,接口,数组。 它只排除了原始类型( int
,…)。
这些术语的含义如下:
- 对象类型 (在您的书中)=指示对象的实际运行时类型
- 引用类型 (在您的书中)=引用的静态类型
也许有些人会发现这些术语更容易理解。