注解原理

注解描述

1. JDK1.5以后的版本新特性
2. 说明程序的
3. 注解作用

注解原理

  • 1.限定父类重写方法:@Override
      当子类重写父类方法时,子类可以加上这个注解,那这有什么什么用?这可以确保子类确实重写了父类的方法,避免出现低级错误
  • 2.标示已过时:@Deprecated
       这个注解用于表示某个程序元素类,方法等已过时,当其他程序使用已过时的类,方法时编译器会给出警告(删除线,这个见了不少了吧)。
  • 3.抑制编译器警告:@SuppressWarnings
       被该注解修饰的元素以及该元素的所有子元素取消显示编译器警告,例如修饰一个类,那他的字段,方法都是显示警告
       用法 在类、方法上 @SuppressWarnings("all") 

    自定义注解

    格式:
       元注解
       public @interface 注解名称{}
    通过反编译:
    public interface 注解名称 extends java.lang.annotation.Annotation{}
    属性: 接口中的抽象方法
       要求:
       1、 属性的返回值类型
           基本数据类型
           String
           枚举
           注解
           以上类型的数组
       2、定义了属性,在使用时需要给属性赋值
           1、如果定义属性时,使用default 关键字给属性默认初始化值,使用注解时可以不进行属性赋值
           2、如果只有一个属性需要赋值,并且属性的名称是value,则value可以省略,直接定义值即可
           3、数组赋值时,值使用{}包裹,如果数组中只有一个值,则{}省略
       例如:
           public @interface MyAnno {
               String show() default "";
               int value();
               String [] show1();
           }
       使用:
           @MyAnno(value = 12,show = "aa",show1 = "aa")
           public void show(){
           }
    元注解: 用于描述注解的注解
       @Target: 描述注解能够作用的位置
       @Retention: 描述注解被保留的阶段
       @Documented :描述注解是否被抽取到api文档中
       @Inherited: 描述注解是否被子类继承

    在程序中使用自定义注解

    1 获取注解定义的位置的对象(class, mothed,field)
    1. 获取指定的注解
      getAnnotation(class)
    2. 调用注解中的抽象方法获取配置的属性值
本作品采用《CC 协议》,转载必须注明作者和本文链接
每天进步一点点
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!