
注解是JDK 5.0 开始新增的对元数据(描述数据属性的信息)的支持。可以把注解理解为代码里的特殊标记,这些标记可以在编译,类加载,运行时被读取,并执行相应的处理。通过注解开发人员可以在不改变原有代码和逻辑的情况下在源代码中嵌入一些补充信息。
1.2 三个基本注解使用 Annotation 时要在其前面增加 @ 符号,并把该 Annotation 当成一个修饰符使用。用于修饰它支持的程序元素。
三个基本的 Annotation:
class A {
public void test() {}
}
class B extends A {
@Override // 子类重写父类的方法
public void test() {
super.test();
}
}
JDK 的元 Annotation 用于修饰其他的 Annotation 定义(元注解:对现有的注解进行解释说明的注解)。JDK5.0 提供了 4 个标准的 meta-annotation 类型,分别是:
@Retention 指定被修饰的 Annotation 的生命周期,@Retention 包含一个 RetentionPolicy 类型的成员变量,使用 @Retention 时必须为该 value 成员变量赋值:
@Target 指定被修饰的 Annotation 能用于修饰哪些程序元素,@Target 也包含了一个 value 成员变量,他的值只能为:
自定义注解通常都会指明两个元注解:@Retention、@Target,@documented 和 @Inherited 出现频率较低。
1.4.4 @documented@documented 指定被修饰的注解类将被 javadoc 工具提取成文档。默认情况下,javadoc 是不包括注解的,只有被 @documented 修饰后,在 javadoc 解析时才会保留下来。
1.4.5 @Inherited@Inherited 指定被它修饰的 Annotation 将具有继承性。如果某个类使用了@Xxx,则其子类将自动被@Xxx修饰。