注解

注解(Annotation)是放在Java源码的类、方法、字段、参数前的一种标签。

注解本身对代码逻辑没有任何影响,如何使用注解由工具决定。

编译器可以使用的注解:

@Override          有这个注释后可以让编译器帮忙检查重写是否正确

@Deprecated            如果后面有地方调用了本方法,那么将会显示本方法已废弃

@SuppressWarnings

注解可以定义配置参数和默认值

定义注解

使用@interface定义注解(Annotation)

使用元注解定义注解:

@Target

@Retention

@Repeatable

@Inherited

 

定义Annotation的步骤

  1. 用@interface定义注解

 

注解的参数类似无参方法

可以设置一个默认值(推荐)

可以将最常用的参数命名为value(推荐)

 

  1. 用元注解(meta annotation)配置注解

 

Target:必须设置,定义注解在源代码的哪些地方能够使用

Retention:一般设置为RUNTIME

通常不必写@Inherited, @Repeatable等等

 

  1. 定义注解参数和默认值

例如

注解的处理

使用反射API读取Annotation:

Class.isAnnotationPresent(Class) 传入注解class,可以判断是否存在

getParameterAnnotations() 需要用一个二维数组表示

 

可以通过工具处理注解来实现相应的功能:

对JavaBean的属性值按规则进行检查

JUnit会自动运行@Test标记的测试