java.lang.annotation.ElementType:
程序元素类型.此枚举类型的常量提供Java程序中声明的元素的简单分类.这些常量与Target元注释类型一起使用,以指定使用注释类型的合法位置.
有以下常量:
有人可以解释它们中的每一个(在实际代码中它们会被注释)吗?
Boz*_*zho 96
假设您指定的注释ElementType被称为YourAnnotation:
ANNOTATION_TYPE - 注释类型声明.注意:这可以用于其他注释
@YourAnnotation
public @interface AnotherAnnotation {..}
Run Code Online (Sandbox Code Playgroud)CONSTRUCTOR - 构造函数声明
public class SomeClass {
@YourAnnotation
public SomeClass() {..}
}
Run Code Online (Sandbox Code Playgroud)FIELD - 字段声明(包括枚举常量)
@YourAnnotation
private String someField;
Run Code Online (Sandbox Code Playgroud)LOCAL_VARIABLE - 局部变量声明.注意:这在运行时无法读取,因此它仅用于编译时的内容,例如@SuppressWarnings注释.
public void someMethod() {
@YourAnnotation int a = 0;
}
Run Code Online (Sandbox Code Playgroud)方法 - 方法声明
@YourAnnotation
public void someMethod() {..}
Run Code Online (Sandbox Code Playgroud)包裹 - 包裹声明.注意:这只能用于package-info.java.
@YourAnnotation
package org.yourcompany.somepackage;
Run Code Online (Sandbox Code Playgroud)PARAMETER - 参数声明
public void someMethod(@YourAnnotation param) {..}
Run Code Online (Sandbox Code Playgroud)TYPE - 类,接口(包括注释类型)或枚举声明
@YourAnnotation
public class SomeClass {..}
Run Code Online (Sandbox Code Playgroud)您可以ElementType为给定的注释指定多个s.例如:
@Target({ElementType.CONSTRUCTOR, ElementType.METHOD})
Run Code Online (Sandbox Code Playgroud)
Jav*_*mae 50
这总结了主要的:
@CustomTypeAnnotation
public class MyAnnotatedClass {
@CustomFieldAnnotation
private String foo;
@CustomConstructorAnnotation
public MyAnnotatedClass() {
}
@CustomMethodAnnotation
public String bar(@CustomParameterAnnotation String str) {
@CustomLocalVariableAnnotation String asdf = "asdf";
return asdf + str;
}
}
Run Code Online (Sandbox Code Playgroud)
ANNOTATION_TYPE是另一个注释的注释,如下所示:
@CustomAnnotationTypeAnnotation
public @interface SomeAnnotation {
..
}
Run Code Online (Sandbox Code Playgroud)
包package-info.java在包中的文件中定义,如下所示:
@CustomPackageLevelAnnotation
package com.some.package;
import com.some.package.annotation.PackageLevelAnnotation;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
37112 次 |
| 最近记录: |