为什么在Annotation接口中声明Object的非最终公共方法?

时间:2018-04-13 09:45:24

标签: java interface annotations

java.lang.annotation.Annotation接口声明toStringhashCodeequals方法(Object类的非最终公共方法)

我认为如果这些方法尚未在Annotation接口中声明,则没有任何更改,因为这些方法已在Object类中定义。所以我们可以使用它们,即使它们没有在这个界面中声明。那么为什么在这个接口中声明这些方法? 他们有什么必需品?

1 个答案:

答案 0 :(得分:4)

对SO的快速查询没有产生任何重大的重复问题,因此我将发表评论作为答案。如果有重复,我很乐意删除我的答案,支持副本。

java.lang.annotatino.Annotation有点特别:

  

所有注释类型扩展的通用接口。请注意,手动扩展此接口的接口不会定义注释类型。

注释不是普通对象层次结构的一部分。因此,该界面可以被视为"根对象" 1 用于注释。

1 注释不是真正的对象,因此是引号。除了隐式实现接口java.lang.annotation.Annotation的所有注释之外,注释类型中没有继承。