元注解位于JDK的java.lang.annotation包下:
1、@Retention
定义注解的保留策略,包括以下3种策略:
@Retention(RetentionPolicy.SOURCE) //注解仅存在于源码中,在class字节码文件中不包含
@Retention(RetentionPolicy.CLASS) // 默认的保留策略,注解会在class字节码文件中存在,但运行时无法获得,
@Retention(RetentionPolicy.RUNTIME) // 注解会在class字节码文件中存在,在运行时可以通过反射获取到
2、@Target
定义注解的使用对象,注解可以用在类上、方法上、属性上等,由ElementType枚举类定义:
public enum ElementType { /** Class, interface (including annotation type), or enum declaration */ TYPE, /** Field declaration (includes enum constants) */ FIELD, /** Method declaration */ METHOD, /** Formal parameter declaration */ PARAMETER, /** Constructor declaration */ CONSTRUCTOR, /** Local variable declaration */ LOCAL_VARIABLE, /** Annotation type declaration */ ANNOTATION_TYPE, /** Package declaration */ PACKAGE, /** * Type parameter declaration * * @since 1.8 */ TYPE_PARAMETER, /** * Use of a type * * @since 1.8 */ TYPE_USE }
3、@Inherited
子类可以继承父类中的注解
4、@Documented
javadoc工具会使用该注解生成文档
更多参考: java.lang.annotation
参考:元注解
上一题:jdk自带了哪些注解,有什么作用
下一题:Java8有哪些新特性?
标签: declaration、注解、annotation、type、retention
笔试题
刷题
简历模板
AI算法
大数据
内推
内推: