注解介绍
Java注解是从Java5开始添加到java中的。
Java的注解可以说成是一种标记,标记一个类或者一个字段,经常是和反射,AOP结合起来进行使用。一般是定义一个注解,如果某个被注解的类或者字段符合条件,就执行某些能力。
元注解
定义其他注解的注解就是元注解。
例如Override注解就不是一个元注解,是通过元注解定义出来的。
它由两个元注解定义,一个是@Target,另一个是@Retention,这两个就是元注解。
元注解有四个:
@Target 表示被定义的注解可以用于什么地方
@Retention 表示在什么时期可以保存该注解的信息
@Documented 将该注解包含在javadoc中
@Inherited 允许子类继承父类的注解
一般@Target被使用的是最多的。
@Retention
指定被修饰的注解的生命周期,也就是在源代码、编译、运行这三个时期中的哪个时期保留信息。有三个枚举值:SOURCE、CLASS、RUNTIME。默认为CLASS。
@Target
指定被修饰的注解可以应用在哪个元素类型上,例如类、方法、字段等。
@Documented
该注解的信息会出现在API文档中,方便开发者查阅。
@Inherited
被该注解修饰的注解可以被子类继承。