当前位置 博文首页 > 托马斯-酷涛的博客:二十八、JavaSE----注解

    托马斯-酷涛的博客:二十八、JavaSE----注解

    作者:[db:作者] 时间:2021-09-08 23:03

    注解:

    ????????Java注解(Annotation)又称为元数据,它为我们在代码中添加信息提供了一种形式化的方法。 它是JDK1.5引入的,Java定义了一套注解,共有7个,3个在java.lang中,剩下4个在 java.lang.annotation 中。

    作用在代码中的注解有三个,它们分别是:

    • @Override :重写标记,一般用在子类继承父类后,标注在重写过后的子类方法上。如果发现 其父类,或者是引用的接口中并没有该方法时,会报编译错误。
    • @Deprecated :用此注解注释的代码已经过时,不再推荐使用。
    • @SuppressWarnings :这个注解起到忽略编译器的警告作用。

    元注解有四个,元注解就是用来标志注解的解释。它们分别是:

    1. @Retention :标识如何存储,是只在代码中,还是编入class文件中,或者是在运行时可以通过 反射访问。
    2. RetentionPolicy.SOURCE:注解只保留在源文件,当Java文件编译成class文件的时候,注解被遗弃。

    3. RetentionPolicy.CLASS:注解被保留到class文件,但jvm加载class文件时候被遗弃,这是默认的生命周期。

    4. RetentionPolicy.RUNTIME注解不仅被保存到class文件中,jvm加载class文件之后,仍然存在。

    • @Documented :标记这些注解是否包含在JavaDoc中。

    • @Target :标记这个注解说明了 Annotation所修饰的对象范围,Annotation可被用于 packages, types (类、接口、枚举、Annotation类型)、类型成员(方法、构造方法、成员变 量、枚举值)、方法参数和本地变量(如循环变量、catch参数)。取值如下:

    • @inherited :标记这个注解是继承于哪个注解类的。

    从JDK1.7开始,又添加了三个额外的注解,它们分别是

    • @SafeVarargs :在声明可变参数的构造函数或方法时,Java编译器会报unchecked警告。使 用@SafeVarargs可以忽略这些警告。
    • @FunctionalInterface :表明这个方法是一个函数式接口。
    • @Repeatable :标识某注解可以在同一个声明上使用多次。

    cs