Skip to content

教程

Java 语言中的类、方法、变量、参数和包等都可以被标注。和 Javadoc 不同,Java 标注可以通过反射获取标注内容。在编译器生成类文件时,标注可以被嵌入到字节码中。Java 虚拟机可以保留标注内容,在运行时可以获取到标注内容 。 当然它也支持自定义 Java 标注。

这句话的意思是,Java 中的类、方法、变量、参数和包等元素都可以使用 注解(Annotation) 来进行标记或说明。注解不仅仅是文档性的说明,它们还可以在编译时或运行时通过反射获取到其具体内容

  1. 注解(Annotation):在 Java 中,注解是一种特殊的语法形式,可以用于对类、方法、字段、参数等元素进行标记。它不像传统的注释那样只是供开发人员查看,它还可以被程序处理,影响代码的执行
  2. 注解** 不仅用于标记代码,还可以通过反射机制在程序运行时获取其内容,并且可以被编译器或其他工具(如框架)使用来影响代码的行为
  3. 注解的编译与运行时
    • 编译时:注解可以嵌入到字节码中,在编译过程中,注解的内容可以被编译器读取并使用
    • 运行时:Java 虚拟机(JVM)可以保留注解内容,程序运行时可以通过反射获取到注解的内容,从而执行不同的逻辑

元注解

[!quote] 元注解 元注解 是可以在注解上使用的注解,包括 :

  • @Target 描述注解的使用范围
    • value ElementType 的数组
      • ElementType.TYPE
      • ElementType.CLASS
      • ElementType.METHOD
      • ElementType.FIELD
      • ……
  • @Retention 描述注解的生命周期
    • SOURCE
    • CLASS
    • RUNTIME
  • @Documented 该注解应该被包含在 javadoc 中
  • @Inherited 该注解可以被继承