注解的原理是什么
课程没有说明怎么实现的
课程没有说明怎么实现的
2016-06-17
- @Retention【关于注解的生命周期RetentionPolicy】
- .SOURCE,只保留在源文件层面,当.java被编译成.class的时候,此注解被丢弃
- .CLASS,(默认值)只保留在class文件,不会加载到jvm中。当jvm加载class文件的时候,此注解被丢弃
- .RUNTIME jvm加载被编译后的class文件后,此注解依然有效
- @Documented【javadoc 文档相关】
- @Target【指明了此注解用的范围,是个ElementType】
- TYPE :class,interface(当然也包括annotation 类型)
- FIELD:属性,包括一些枚举常量
- METHOD:方法
- PARAMETER:方法内参数
- CONSTRUSTOR:构造方法
- LOCAL_VARIABLE:局部变量
- ANNOTATION_TYPE:注解类型声明
- PACKAGE:包
- TYPE_PARAMETER:参数类型
- TYPE_USE
- @Inherited
- 在超类A的注解test被@Inherited注解后,该注解(test)被A'注解(@test),A'的子类就继承了超类A的注解。(前提是子类没有被任何注解应用)
- @Repeatable【多个属性值的注解】
- @Repeatable后面括号的类相当于一个容器注解
举报