Java基础学习:java中的基础注解

在Java中,有一些内置的(或称为“基础”)注解(annotation),这些注解在Java标准库中定义,并且具有特定的用途。以下是一些主要的Java内置注解:

  • @Override
    • 用于表示一个方法是重写了父类的方法。
    • 如果在子类中声明的方法并没有重写父类中的任何方法,编译器会报错。
    • 这是一个标记注解,没有关联任何元素。
  • @Deprecated
    • 用于表示某个类或方法已经过时,建议开发者避免使用它。
    • 编译器在编译时会给出警告,告知该元素已过时。
    • 这是一个标记注解,也可以与since元素一起使用,以指定替代项或替代方法的版本。
  • @SuppressWarnings
    • 用于告诉编译器忽略指定的警告。
    • 它可以用于类、方法或字段。
    • 通常与特定的警告键(如"unchecked"、"deprecation"等)一起使用。
  • @SafeVarargs
    • 用于泛型方法或构造函数,以告诉编译器不要对使用泛型参数变量的方法或构造函数发出"unchecked"警告。
    • 这是一个标记注解,通常与泛型方法一起使用。
  • @FunctionalInterface
    • 用于声明接口是函数式接口,即接口中只能有一个抽象方法(除了默认方法和静态方法之外)。
    • 如果接口不符合函数式接口的要求(即存在多个抽象方法),编译器会报错。
    • 这是一个标记注解,没有关联任何元素。
  • @Retention
    • 用于指定注解的保留策略。
    • 这是一个元注解(用于注解其他注解的注解),有三个可能的值:SOURCE(只在源码中存在,编译时被丢弃)、CLASS(在字节码文件中存在,但JVM运行时丢弃)、RUNTIME(在JVM运行时保留,可以通过反射读取)。
  • @Target
    • 用于指定注解可以用于哪些Java元素。
    • 这也是一个元注解,可能的值包括ElementType枚举中的常量,如TYPE(类、接口、注解类型或枚举声明)、METHOD(方法声明)、FIELD(字段声明)等。
  • @Documented
    • 用于表示该注解应该被javadoc和类似的工具记录。
    • 默认情况下,javadoc不包含注解。但是,如果注解被标记为@Documented,那么javadoc就会包含它。
      这是一个标记注解。
  • @Inherited
    • 表示一个注解类型被自动继承。
    • 如果一个使用了@Inherited注解的类型被用于一个类,则这个注解也被用于该类的所有子类。
    • 这是一个标记注解。
  • @Native
    • 这是Java NIO包中的一个注解,用于标记本地方法。在Java 9及以后的版本中,它已经被标记为过时(deprecated),并被 @Native(在java.lang.annotation包中)取代,但用途和效果有所不同。在Java NIO中,@Native通常与ByteBuffer等类一起使用,表示该方法是一个本地方法,直接调用操作系统的API。

注意:Java中的内置注解主要用于元数据编程、文档生成、编译时检查等目的。开发者还可以创建自定义注解,以满足特定的需求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

玉成226

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值