三、Java注解

注解

  • 概念:说明程序。

  • 定义:注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5以后版本引入的一个特性与类、接口、枚举在同一层次。它可以声明在包、类、字段、方法、局部变量、方法参数的前面、用来对这些元素进行说明,注释。

  • 功能分类:

    • 编写文档:通过代码中标识的元数据生成文档
    • 代码分析:通过代码中标识的元数据对代码进行分析
    • 编译检查:通过代码中标识的元数据让编译器能够实现基本的编译检查
  • JDK中预定义的一些注解

    • @Override:用来检测该注解标注的方法是否继承自父类
    • @Deprecated:该注解标注的内容,表示已过时
    • @SuppressWarnings:压制警告
  • 自定义注解

    • 格式:
      • 元注解
      • public @interface 注解名称{}
    • 本质:一个接口
    • 属性:接口中可以定义个成员方法
      • 要求:
        • 属性的返回值类型
          • 基本数据类型
          • String
          • 枚举
          • 注解
          • 以上类型数组
        • 定义了属性,需要在使用时赋值
          • 如果定义属性时,使用default关键字给属性默认的初始化值,则使用注解时,可以不进行属性的赋值。
          • 如果只有一个属性需要赋值,并且属性的名称是value,则value可以省略,直接定义即可。
          • 使用数组赋值时,值使用{}包裹,如果数组中只有一个只,则可以将{}省略
    • 元注解:用于描述注解的注解
      • @Target:描述注解可以作用的位置
        • ElementType取值
          • TYPE:可以作用于类上
          • METHOD:可以作用于方法上
          • FIELD:可以作用于成员变量上
      • @Retention:描述注解被保留的阶段
        • RetentionPolicy取值
          • RUNTIME:当前被描述的注解,会保留到class字节码文件中,并被JVM读取到
      • @Documented:描述注解是否被抽取到api文档中
      • @Inherited:描述注解是否被子类继承
  • 在程序中使用注解

发布了50 篇原创文章 · 获赞 33 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_25884515/article/details/101202311