【问题标题】:About the annotation @interface and it's implementation关于注解@interface 及其实现
【发布时间】:2014-05-18 06:59:30
【问题描述】:

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

那些注解只携带编译器检查的信息。编译器会将这些信息放入类文件中。然后我们使用字节码阅读器或反射 API 来读取这些信息 返回。

我的理解对吗?

【问题讨论】:

标签: java annotations


【解决方案1】:

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

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

那些注解只携带编译器检查的信息。编译器会将这些信息放入类文件中。然后我们使用字节码阅读器或反射 API 来读取这些信息。

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

【讨论】:

    猜你喜欢
    • 2017-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-05
    • 2015-03-25
    • 1970-01-01
    • 2014-07-11
    • 2016-10-03
    相关资源
    最近更新 更多