前端之家收集整理的这篇文章主要介绍了
Java对象引用机制,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有点坚持以下问题:
两种Java语言机制允许对象引用变量的类型与它引用的对象的类型“不同”?举例说明.在什么意义上他们没有什么不同?
我目前的答案是“实施”和“延伸”对吗?它们是相似的,因为它们都会创建一个类,它至少会拥有超类的所有方法签名,可以是实际的,抽象的或接口.它是否正确?提前致谢!
最佳答案
这或多或少是正确的.你的答案的第二部分应该讨论子类型.在Java中,对象仅具有相同的
方法签名是不够的.实际上必须有一个声明的子类型关系(通过extends / implements).
这不仅仅是迂腐.在某些语言(但不是Java)中,仅仅存在兼容的方法签名就足以实现类型兼容性.这被称为“鸭子打字”.