Skip to content

注解

Java 注解(Annotation)是一种元数据机制,用于给代码添加“标记”,让编译器、框架或运行时去解析这些标记,从而实现特定功能(如配置、校验、生成代码等)。

注解本质

注解本质上是一个接口,使用 @interface 定义

java
public @interface MyAnnotation {
    String value();
}

元注解

注解的注解

@Target

作用范围

java
@Target(ElementType.METHOD)

常见值:

  • TYPE:类
  • METHOD:方法
  • FIELD:字段
  • PARAMETER:参数

内置注解

@Override

表示方法重写父类方法

java
@Override
public String toString() {
    return "test";
}

@Deprecated

  • 用于表示被标记的数据已经过时,不推荐使用。

  • 可以用于修饰 属性、方法、构造、类、包、局部变量、参数。

  • 它会被编译器程序读取。

java
@Deprecated
public void oldMethod() {}

@SuppressWarnings

抑制编译警告。当我们不希望看到警告信息的时候,可以使用 SuppressWarnings 注解来抑制警告信息

java
@SuppressWarnings("unchecked")
public void test() {}
  • 可以用于修饰类、属性、方法、构造、局部变量、参数

  • 它会被编译器程序读取。

警告类型说明
all抑制所有警告
unchecked抑制与未检查操作(如泛型未检查转换)相关的警告
unused抑制与未使用的代码或停用代码相关的警告
deprecation抑制与已弃用(过时)API 相关的警告
nls抑制与非国际化(Non-NLS)字符串相关的警告
null抑制与空值分析(可能为 null)相关的警告
rawtypes抑制与使用原始类型(raw type)相关的警告
static-access抑制与错误的静态访问方式相关的警告
static-method抑制与可以声明为 static 的方法相关的警告
super抑制重写方法但未调用 super 方法的警告