理解Java中的注释处理

时间:2011-04-18 05:53:42

标签: java hibernate annotations

有人可以描述使用注释处理吗? 我最后一次尝试理解注释是不成功的。

之前我发布了this question,但未能得到满意的答复 我经历了许多在线教程,但大多数都是关于用于注释的注释:

  1. 文档
  2. 编译器使用的注释(@Deprecated@Override@SuppressWarnings
  3. 注释处理(@Target@Retention
  4. 请有人向我解释注释处理,并指导我使用相应的教程。

    准确地说,我想了解更多有关以下内容的信息 Meta-Annotations (Java注释类型):

    • 目标
    • 保留
    • 文件化
    • 继承

    我已经阅读了许多教程,例如this,但无法获得有关注释处理的更多信息。

2 个答案:

答案 0 :(得分:3)

@Anupam Gupta - 我认为你的问题是你对基本/核心Java的理解不够,无法理解注释和注释处理是如何工作的。例如,您不理解“在运行时反射”意味着什么表明您不熟悉Java反射,这是核心Java的重要组成部分。

注释处理是一个高级主题,实际上超出了Java教程流的范围。


对于它的价值,注释文档是hereherehere,您可以通过阅读Oracle annotations forum中的消息获得更多线索

答案 1 :(得分:2)

关于注释的注释是用于注释注释的注释。他们的具体目的是:

  • Target:指定可以使用注释的位置。例如。 @Target(ElementType.METHOD)表示注释只能用于方法。

  • Retention:指定注释可用的位置/时间。 @Retention(RetentionPolicy.RUNTIME)表示它在运行时使用反射可用。其他值只能在编译时的类文件中使用(首先提到的选项包括后面的选项)

  • Documented带有此注释的注释将在javadoc
  • 中出现
  • Inherited使子类从其超类继承有关注释的注释

对于所有四个人来说,javadoc非常有帮助。