Annotation

Annotation元注解。负责注解其他注解的注解。
jdk 版本 1.8

几种类型:

@Target
@Retention
@Documented
@Inherited
@Repeatable
@Native

@Target

规定Annotation所修饰的对象范围。

    TYPE,类、接口(包括注解类型)或enum声明
    FIELD,成员变量、对象、属性(包括enum实例)
    METHOD,方法声明
    PARAMETER,参数声明
    CONSTRUCTOR,构造器声明
    LOCAL_VARIABLE,局部变量声明
    ANNOTATION_TYPE,注解类型声明(用于另一个注解上)
    PACKAGE,包声明
    TYPE_PARAMETER,类型参数声明(1.8新加入)
    TYPE_USE;类型使用声明(1.8新加入)

@Retention

表示需要在什么级别保存该注解信息,即注解的生命周期

    SOURCE,只会保留在源码里
    CLASS,默认,保留在源码里和class文件里,在执行的时候,不会加载到虚拟机
    RUNTIME;运行期也保留注解信息

@Documented

表示注解会被包含在javaapi文档中

@Inherited

允许子类继承父类的注解

@Repeatable

重复注解

@Native

作用在域上,用来表示域中的常量可能来自于本地代码

你可能感兴趣的:(Annotation)