Java基础教程
作者: 时海
元Annotation

元注解位于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

标签: declaration、注解、annotation、type、retention
一个创业中的苦逼程序员
  • 回复
隐藏