小窝

Java 常用内置注解

发布时间:6年前作者:shine热度: 1402 ℃评论数:

Java 提供了许多内置注解,大部分是专用注解,有9个用于一般目的,在这个9个注解中,有 4 个来自 java.lang.annotation @Retention @Documented@Target@Inherited ;另外 5 个来自 java.lang 是:@Override@Deprecated@FunctionalInterface@SafeVarargs@SuppressWarnings

  1. @Retention
    只能用于注解其他注解、用于指定保留策略
  2. @Documented
    标记接口、用于通知某个工具--注解将被文档化,只能用于注解其他注解
  3. @Target
    用于指定可以应用注解的声明的类型,智能注解其他注解,@Target 只有一个参数、这个参数必须是来自 ElementType 枚举的常量,这个参数指定了将为其应用注解的声明类型。
     

目标常量

可应用注解的声明的类型

ANNOTATIONI_TYPE

另外一个注解

CONSTRUCTOR

构造函数

FIELD

域变量

LOCAL_VARIABLE

局部变量

METHOD

方法

PACKAGE

PARAMETER

参数

TYPE

类、接口或枚举

TYPE_PARAMETER

类型参数(JDK8 新增)

TYPE_USE

类型使用(JDK8 新增)

可以指定这些值中的一个或多个,多个值必须在 {} 里,显示指定目标可以明确说明注解的用途及范围

  1. @Inherited
    是标记注解,只能用于另外一个注解的声明,会导致父类的注解被子类继承
  2. @Override
    是标记注解,只能用于方法,带有此注解的方法必须重写父类中的方法。
  3. @Deprecated
    是标记注解,用于指示声明是过时的,并且已经被更新的的形式取代
  4. @FunctionalInterface
    JDK8
    新添加的一个标记注解,用于接口,指出备注解的的接口是一个函数式接口。如果被注解的接口不是函数式接口,将会编译错误,创建函数式接口并一定需要此注解,根据定义任何一个抽象方法的接口都是函数式接口,此注解的意义仅在于提供信息
  5. @SafeVarargs
    标记注解,只能用于方法和构造函数,指示没有发送与可变长度参数相关的不安全动作。该注解只能用于varargs 方法或者声明为 static final 的构造函数
  6. @SuppressWarnings
    用于指定能抑制一个或多个编译器可能会报告的警告。使用是字符串形式表示的名称来指定要被抑制的警告

热门评论

手机扫码访问