一 自定义注解
-
使用@interface定义Annotation
-
使用Annotation修饰程序中的类、方法、变量、接口等定义,通常我们会把Annotation放在所有修饰符之前。
-
定义带成员变量的Annotation。
-
为Annotation的成员变量指定初始值。
二 提取Annotation
Annotation接口来代表程序元素前面的注释,该接口是所有Annotation类型的父接口。
AnnotatedElement接口代表程序中可以接受注释的程序元素。
调用AnnotatedElement对象的如下三个方法来访问Annotation信息:
-
getAnnotation(Class<T> annotationClass):返回该程序元素上存在的、指定类型的注释,如果该类型的注释不存在,则返回null。
-
Annotation[] getAnnotations():返回该程序元素上存在的所有注释。
-
boolean isAnnotationPresent(Class<? extends Annotation> annotationClass):判断该程序元素上是否包含指定类型的注释,存在则返回true,否则返回false。
三 实战——标记哪些方法是可测试的
1 Testable.java
import java.lang.annotation.*;
// 使用JDK的元数据Annotation:Rete