关于注释@interface及其实现

时间:2014-04-06 00:33:07

标签: java annotations

我正在寻找@interface的实现。但似乎@interface不需要实现。

这些注释只包含编译器检查的信息。并且编译器会将这些信息放到类文件中。然后我们使用字节码阅读器或反射API来读取这些信息 回来。

我理解是对吗?

1 个答案:

答案 0 :(得分:1)

  

我正在寻找@interface的实现。但似乎@interface不需要实现。

如果你的字面意思是语言结构@interface,那么你应该注意它本身并不是一个注释,它看起来很相似。它是定义注释类型时使用的关键字。它实际上是两个令牌,@interface之间可以有空格。请参阅:Java 7 Language Specification - 9.6. Annotation Types

  

这些注释只包含编译器检查的信息。并且编译器会将这些信息放到类文件中。然后我们使用字节码阅读器或反射API来读取这些信息。

正确,注释只是元数据,它们自己从不做任何事情。可见性取决于Retention元注释。根据保留策略,它们可以使用反射对运行时可见或仅限于源代码,因此它们不会包含在字节码中。最常见的方法可能是使用反射,另一种方法是在编译之前使用注释处理器