@Retention(RetentionPolicty.Source)和@Inherited

时间:2014-09-09 15:16:14

标签: java annotations

是否可以在注释定义上同时运行@Retention(Source)@Inherited,或者RetentionPolicy.Source是否取消继承注释?

在我的测试中,后者似乎是结果,但我找不到任何参考,这就是我正在寻找的。

我希望源级别的保留策略和继承保留策略可以在处理环境的帮助下工作。

1 个答案:

答案 0 :(得分:0)

@Retention@Inherited有不同的用途。

@Retention的javadoc声明它

  

指示要保留带注释类型的注释的持续时间。

@Inherited的javadoc声明它

  

表示自动继承注释类型。

如果注释类型不存在,则无法继承。

  • 如果注释存在于SOURCE级别,则@Inherited也将在SOURCE级别工作。
  • 如果注释存在于CLASS级别,则@Inherited也将在CLASS级别工作。
  • 如果注释存在于RUNTIME级别,则@Inherited也将在RUNTIME级别工作。