java知识学习55-注解


注解:也叫元数据,jdk1.5以后的特性,用于对程序的说明,给计算机看的;格式:@注解名称

注释:用于对程序的描述,给程序员看的。

  注解的作用:

   常用的一些预定义注解:

    

  自定义注解:  

    格式:public @interface 注解名称 { 属性列表 },上面是一些元注解 

    本质:注解本质上就是一个接口,该接口默认继承Annotation接口,可通过对自定义类进行反编译(命令行中输入:javap 类名.class进行反编译查看)

    属性:与接口中定义方法的模式一样。即接口中的抽象方法。

   元注解:用于描述注解的注解。

    @Target:描述注解能够作用的范围或位置(Type:类;Mehtod:方法;Field:成员变量);

    @Retention:描述注解被保留的阶段(源码、class、对象三个阶段)

      @Retention(RetentionPolicy.Runtime):表示被描述的注解,会保留到class字节码文件中,并被JVM读取到。

    @Documented:描述注解是否被抽取到api文档中;

    @Inherited:描述注解是否被子类继承(子类也会继承父类的注解);

  在程序中使用(解析)注解:

    * 获取注解中定义的属性值:

      1. 获取注解所描述位置(类、方法、变量)的字节码对象;

      2. 获取对应注解的对象;通过getAnnotation(Class)方法;

      3. 调用注解对象中的抽象方法来获取配置的属性值;

      测试类:

      自定义的注解:

       

      被调用的类:

      

  简易的小案例:通过给方法加上Check注解标识,使得加上该标识的方法会被执行并校验正确性。

    被测试的类:                                

        

    注解类:

    

    验证类:

    

相关