一 认识
注解(Annotation)概念:也叫元数据,标签,注释。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。
注解的作用:编写文档:通过代码里标识的元数据生成文档【生成文档doc文档】
代码分析:通过代码里标识的元数据对代码进行分析【使用反射】
编译检查:通过代码里标识的元数据让编译器能够实现基本的编译检查【Override】
java提供的四个基本的Annotation:
@Override 限定覆写父类方法
@Deprecated 标记已过时
@SuppressWarings 抑制编译器警告
@SafeVarargs 抑制堆污染警告
当可变参数与泛型同时出现的时候,可能会产生堆污染
二 元注解
JDK的元注解(matadata):写在注解上面的注解
常用的元注解:
@Retention : 生命长度
RetentionPolicy.SOURCE
RetentionPolicy.CLASS
RetentionPolicy.RUNTIME
@Target : 使用范围 (有多个时外层加{})
ElementType.CONSTRUCTOR 只能修饰构造方法
ElementType.FIELD 只能修饰字段(属性),包括枚举常量
ElementType.LOCAL_VARIABLE 只能修饰局部变量
ElementType.METHOD 只能修饰方法
ElementType.PACKAGE 只能修饰包(极少使用)
ElementType.PARAMETER 只能修饰参数
ElementType.TYPE 只能修饰类,接口,枚举
@Documented : 文档
如Date里的toLocalString()方法,标记已过时。
@Inherited :继承
加上后相当于这个标签所修饰的类的所有子类也有这个标签