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