您的位置:首页 > 游戏 > 手游 > Java基础学习:java中的基础注解

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

2024/10/5 14:37:50 来源:https://blog.csdn.net/yuming226/article/details/139126082  浏览:    关键词: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中的内置注解主要用于元数据编程、文档生成、编译时检查等目的。开发者还可以创建自定义注解,以满足特定的需求。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com