注解
内置注解
- @Override 检查是否重载
- @Deprecated 过时方法
- @SuppressWarnings 压制警告
- @SafeVarargs
- ....
元注解
元注解,定义注解的注解
- @Retentaion
约束注解的生命周期,有三个值,源码级别(source),类文件级别(class),运行时级别(runtime).。默认为class
- SOURCE 注解将会被编译器丢弃,不会保留在class里。
- CLASS:注解在class中可用,会被vm丢弃
- RUNTIME,注解在JVM中也被保留
RetentionPolicy.SOURCE
- @Target 约束方法可以运用的范围
- @Target(ElementType.TYPE)——接口、类、枚举、注解
- @Target(ElementType.FIELD)——字段、枚举的常量
- @Target(ElementType.METHOD)——方法
- @Target(ElementType.PARAMETER)——方法参数
- @Target(ElementType.CONSTRUCTOR) ——构造函数
- @Target(ElementType.LOCAL_VARIABLE)——局部变量
- @Target(ElementType.ANNOTATION_TYPE)——注解
- @Target(ElementType.PACKAGE)——包
反射获得注解
class.Annotation
获得类所有注解