java 注解笔记

作者: lialzm | 来源:发表于2016-10-22 20:48 被阅读68次

    @Target:表示注解可以用在什么地方,由ElementType枚举定义

    参数 含义
    CONSTRUCTOR 构造器
    field 域声明(包括enum实例)
    local_variable 局部变量声明
    method 方法参数
    package 包声明
    parameter 参数声明
    type 类,接口或enum
    annotation_type 应用于另一个注解
    type_parameter 类型参数声明(1.8新加入)
    type_use 类型使用声明(1.8加入)

    @Retention表示需要在什么级别保存该注解信息

    参数 含义
    source 注解将被编译器丢弃(只会保留在源码里)
    class 注解在class文件中可用,但是会被vm丢弃
    runtime vm将在运行期间也保存注解,可用通过反射获取注解的信息

    apt在编译时自动查找所有继承自AbstractProcessor的类,然后调用他们的process方法去处理

    @Documented表示注解会被包含在javaapi文档里
    @Inherited允许子类继承父类注解

    注解元素

    注解可用的类型有:
    1.所有的基本类型(int,float,boolean,byte,double,char,long,short)
    2.string
    3.Class
    4.enum
    5.Annotation
    元素的修饰符只能是public或者default

    获取注解

    1.类注解使用getAnnotation方法
    2.方法注解Method.getAnnotation()
    3.参数注解Method.getParameterAnnotations();返回二维数组
    4.变量注解Field.getAnnotation()

    相关文章

      网友评论

        本文标题:java 注解笔记

        本文链接:https://www.haomeiwen.com/subject/czuhuttx.html