0

你知道这段代码是做什么的吗:

@Target(ElementType.Method)
public @interface Example{ }

我不理解 Java 中的注释。

4

2 回答 2

2

当你实现一个注解时,你需要告诉编译器两件事:

  • 它可以应用在哪里(那是你的@Target这里);
  • 它的保留策略是什么(恰当地命名@RetentionPolicy;一些注释仅保留在源代码级别,其他注释保留在运行时)。

您的目标意味着此注释仅适用于方法,因此您将拥有:

@Example
void myMethod() {}

但是这个:

@Example
int x;

不合法(错误的目标)。

或者,您可以告诉该注释应该@Documented在 javadoc 中。

于 2013-06-10T21:29:37.810 回答
1

“@Target(ElementType.Method)”意味着您只能将其应用于方法。

检查此以获取更多详细信息http://docs.oracle.com/javase/1.5.0/docs/guide/language/annotations.html

于 2013-06-10T21:24:42.783 回答