【发布时间】:2013-12-12 15:51:50
【问题描述】:
Java 文档说:
当你定义一个新的接口时,你就是在定义一个新的引用 数据类型...[]
有些人使用“对象类型”这个名称来指代用于首先实例化对象实例的类。
因为我们不能使用接口来实例化一个对象,我可以说一个对象永远不会有那个接口的类型,但是如果它实现了那种接口,你可以使用那个接口类型的引用来访问那个对象?
维基百科说:
[]... 数据类型或简单的类型是识别其中之一的分类 各种类型的数据,例如实值、整数或布尔值, 确定该类型的可能值;可以的操作 在该类型的值上完成;数据的含义;和方式 可以存储该类型的值。
我不明白 Java 中的接口如何确定“该类型的可能值;可以对该类型的值执行的操作;数据的含义;以及该类型的值可以存储的方式。”我的理由是,因为接口没有定义方法可以做什么,所以它们不是数据类型,只有类和原始类型定义数据类型。接口仅定义在使用引用访问时如何使用某种数据类型的对象。
基于此,如果有人说实现某个接口的对象与该接口具有相同的类型,我可以回答他/她错了吗,因为接口只为引用提供类型,而对象永远不会具有接口?
【问题讨论】:
标签: java types interface reference-type object-type