• Java-注解-Annotation


    注解作用

      注解其实是代码里的特殊标记,这些标记可以在编译、类加载、运行时被读取,并执行相应的处理。通过使用Annotation, 程序开发人员可以在不改变原有逻辑的情况下,在源文件嵌入一些补充信息。代码分析工具、开发工具和部署工具可以通过这些补充信息进行验证或者进行部署。

    java中常见的三个注解

     - @Override : 声明该方法是从父类或接口上继承过来的,执行编译期的检查
     - @SuppressWarnings : 抑制编译器警告 值有好多,只需要知道一个 all  抑制所有的警告
     - @Deprecated : 声明 该方法不赞成使用(方法过时提示)

    注解属性:

         注解本质上就是一个接口,接口中有常量和抽象方法
         抽象方法在注解中就被称为注解属性(注解中定义时不需要定义访问权限)
     

    注解属性类型:


     -  基本类型
     -  String
     -  Class
     -  Annotation
     -  Enum
     -  以上类型对应的一维数组

    注解有属性的话调用者必须要将给属性赋值(除非这个注解属性有默认值)
        格式: @注解名(属性=属性值)
    若注解类型为数组,且只有一个值的时候,可以有两种写法
        方式1: 属性={值1}
        方式2: 属性=值1
    若属性名为value的时候,且只需要为这个value属性赋值的时候,value可以省略

    定义注解:

    ![注解的定义][1]

    调用注解:

    ![调用注解][2]

    元注解

    定义在注解上的注解
    @Target 规定注解作用在什么上面     
       值为ElementType的枚举值
     - TYPE:作用在类 接口 等上面
     - METHOD:作用方法上面
     - FIELD:作用字段上面

    使用Target

    Target源码

    ![Target源码][3]

    使用Target定义注解
    ![元注解][4]

    调用
    ![调用][5]

    @Retention  规定注解保留到什么阶段  
       值为RetentionPolicy的三个枚举值
     - SOURCE:只在代码中保留,在字节码文件中就删除了(默认)
     - CLASS:在代码和字节码文件中保留
     - RUNTIME:所有阶段都保留

    实现junit包的@Test单元测试功能

    需要单元测试的类

    ![需要单元测试的类][6]

    自定义注解

    ![自定义注解][7]

    主方法类
    ![主方法类][8]
  • 相关阅读:
    Vue源码学习(二)——生命周期
    Android MediaPlayer
    iOS项目开发实战——iOS网络编程获取网页Html源码
    iOS 开发之IPad的设计与实现
    Netty In Action中文版
    Valid Palindrome
    Jetty 类载入问题处理
    JSONArray和JSONObject的简单使用
    ExtAspNet依据Grid导出Excel
    C++中的指针、数组指针与指针数组、函数指针与指针函数
  • 原文地址:https://www.cnblogs.com/sybk/p/10004749.html
Copyright © 2020-2023  润新知