Java - 注解 (Annotation)
一、基本的 Annotation
> 使用 Annotation 时要在其前面增加 @符号,并把该 Annotation 当成一个修饰符使用,用于修饰它支持的程序元素
1、三个基本的 Annotation :
> @Override:限定重写父类方法,该注释只能用于方法
> @Deprecated:用于表示某个程序元素(类,方法等)已过时
> @SuppressWarnings:抑制编译器报警
2、自定义注解
public @interface MyAnnotation{
String value() default "hello"; // 默认值
}
@MyAnnotation(value = "heyan")
3、元注解:给注解做注解
> Retention:只能用于修饰一个 Annotation 定义,用于指定该 Annotation 可以保留多长时间,@Retention 包含一个
RetentionPolicy类型的成员变量,使用@Rentention 时必须为该value 成员变量指定值:
> RetentionPolicy.SOURCE:编译器直接丢掉这种策略的注释
> RetentionPolicy.CLASS:系统默认值,编译器将把注释记录在class文件中,当运行Java程序时,JVM不会保留注解
> RetentionPolicy.RUNTIME:编译器将把注释记录在class文件中,当运行Java程序时,JVM会保留注释,程序可以
通过反射取得该注解
> Target:用于修饰一个 Annotation 定义,用于指定被修饰的 Annotation 能用于修饰哪些程序元素,@Target 也包含
一个名为value的成员变量
> Documented:用于指定被该元 Annotation 修饰的 Annotation 类将被javadoc工具提取成文档
> 定义为@Documented 的注解必须设置Retention值为RUNTIME
> Inherited:被他修饰的 Annotation 将具有继承性,如果某个类使用了被 @Inherited 修饰的 Annotation,则其子类将自
动具有该注解 (实际应用中不是很多)