使用@interface定义Annotation,就想创建class一样,四个元注解。 @Retention:作用时间,RetentionPolicy.RUNTIME是运行时。 @Target:作用范围,类,方法,成员变量。
取值(ElementType)有: 1.CONSTRUCTOR:用于描述构造器 2.FIELD:用于描述域 3.LOCAL_VARIABLE:用于描述局部变量 4.METHOD:用于描述方法 5.PACKAGE:用于描述包 6.PARAMETER:用于描述参数 7.TYPE:用于描述类、接口(包括注解类型) 或enum声明
@Documented:这个注解应该被 javadoc工具记录。 @Inherited :继承。
AnnotatedElement接口代表程序中可以接受注释的程序元素,调用AnnotatedElement对象的如下三个方法来访问Annotation信息: getAnnotation(Class annotationClass):返回该程序元素上存在的、指定类型的注释,如果该类型的注释不存在,则返回null。 Annotation[] getAnnotations():返回该程序元素上存在的所有注释。
注解的信息主要通过反射机制来提取。
新闻热点
疑难解答