编程语言
首页 > 编程语言> > ☕ Java注解-笔记

☕ Java注解-笔记

作者:互联网

什么是注解

注解(Annotation)是放在Java源码的类、方法、字段、参数前的一种特殊”注释“。

注释会被编译器直接忽略,注解则可以被编译器打包进入class文件,因此,注解是一种用作标注的“元数据”,一种接口类型。

注解的作用

注解并不能改变程序的运行结果,也不会影响程序运行的性能。有些注解可以在编译时给用户提示或警告,有的注解可以在运行时读写字节码文件信息。

  1. 生成帮助文档。常用有 @see、@param、 @return
  2. 跟踪代码依赖性,实现替代配置文件功能。(常见的是 Spring 2.5 开始的基于注解配置,作用就是减少配置。)
  3. 在编译时进行格式检查。

常用注解

定义注解

public @interface Report {
    int type() default 0;
    String level() default "info";
    String value() default "";
}
// 注解的参数类似无参数方法

元注解

元注解(meta annotation),负责对其它注解进行说明的注解,自定义注解时可以使用元注解。

定义注解完整步骤

  1. 用@interface定义注解
  2. 添加参数、默认值
  3. 用元注解配置注解
// 3. 用元注解配置注解
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface Report {  // 1. 用@interface定义注解
    // 2. 添加参数、默认值
    int type() default 0;
    String level() default "info";
    String value() default "";
}

注解分类

根据注解是否包含成员变量,可以分为如下两类。

  1. 标记注解:没有定义成员变量的注解类型被称为标记注解。这种注解仅利用自身的存在与否来提供信息,如前面介绍的 @Override、@Test 等都是标记注解。
  2. 元数据注解:包含成员变量的注解,因为它们可以接受更多的元数据,所以也被称为元数据注解。

抑制警告关键字

关键字 用途
all 抑制所有警告
boxing 抑制装箱、拆箱操作时候的警告
cast 抑制映射相关的警告
dep-ann 抑制启用注释的警告
deprecation 抑制过期方法警告
fallthrough 抑制在 switch 中缺失 breaks 的警告
finally 抑制 finally 模块没有返回的警告
hiding 抑制相对于隐藏变量的局部变量的警告
incomplete-switch 忽略不完整的 switch 语句
nls 忽略非 nls 格式的字符
null 忽略对 null 的操作
rawtypes 使用 generics 时忽略没有指定相应的类型
restriction 抑制禁止使用劝阻或禁止引用的警告
serial 忽略在 serializable 类中没有声明 serialVersionUID 变量
static-access 抑制不正确的静态访问方式警告
synthetic-access 抑制子类没有按最优方法访问内部类的警告
unchecked 抑制没有进行类型检查操作的警告
unqualified-field-access 抑制没有权限访问的域的警告
unused 抑制没被使用过的代码的警告

标签:Java,抑制,default,笔记,注解,警告,ElementType,public
来源: https://www.cnblogs.com/cenjw/p/javase-annotation.html