注解
注解(Annotation)是放在Java源码的类、方法、字段、参数前的一种标签。
注解本身对代码逻辑没有任何影响,如何使用注解由工具决定。
编译器可以使用的注解:
@Override 有这个注释后可以让编译器帮忙检查重写是否正确
@Deprecated 如果后面有地方调用了本方法,那么将会显示本方法已废弃
@SuppressWarnings
注解可以定义配置参数和默认值
定义注解
使用@interface定义注解(Annotation)
使用元注解定义注解:
@Target
@Retention
@Repeatable
@Inherited
定义Annotation的步骤
-
用@interface定义注解
注解的参数类似无参方法
可以设置一个默认值(推荐)
可以将最常用的参数命名为value(推荐)
-
用元注解(meta annotation)配置注解
Target:必须设置,定义注解在源代码的哪些地方能够使用
Retention:一般设置为RUNTIME
通常不必写@Inherited, @Repeatable等等
-
定义注解参数和默认值
例如
注解的处理
使用反射API读取Annotation:
Class.isAnnotationPresent(Class) 传入注解class,可以判断是否存在
getParameterAnnotations() 需要用一个二维数组表示
可以通过工具处理注解来实现相应的功能:
对JavaBean的属性值按规则进行检查
JUnit会自动运行@Test标记的测试