想要学习框架,学习java的注解最基本的技能,本章简单介绍java元注解,有以下四个
@Retention
** @Retention注解的使用位置 **
//注解仅存在于源码中,在class字节码文件中不包含
@Retention(RetentionPolicy.SOURCE)
// 默认的保留策略,注解会在class字节码文件中存在,但运行时无法获得
@Retention(RetentionPolicy.CLASS)
// 注解会在class字节码文件中存在,在运行时可以通过反射获取到
@Retention(RetentionPolicy.RUNTIME)
@Target
** @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) //包
@Document
Documented 注解表明这个注解应该被 javadoc工具记录. 默认情况下,javadoc是不包括注解的.
但如果声明注解时指定了 @Documented,则它会被 javadoc 之类的工具处理,
所以注解类型信息也会被包括在生成的文档中
@Inherited
1、注解的继承是相对于类而言的,对于接口时无效的
2、注解只继承父类的类注解,不继承方法注解