Java基础 注解Annotation
发布日期:2021-05-19 16:37:50 浏览次数:19 分类:精选文章

本文共 1219 字,大约阅读时间需要 4 分钟。

Java注解是Java语言中用于描述类、成员变量、构造方法、成员方法、方法参数及包声明的特殊修饰符。它用于描述这些元数据,例如@override用于标识方法是重写父类方法。

注解特点

注解是从JDK 5.0开始引入的特性,注解在代码中以“@注解名”的形式存在。

注解作用

  • 创建文档:通过注解生成的文档更详细。
  • 跟踪代码依赖: Helps track dependencies.
  • 执行编译时格式检查: Ensures code formatting during compilation.
  • 替代已有的配置文件: Replacement for configuration files.
  • 注解分类

    根据注解的参数个数,注解可以分为:

  • 标记注解:没有参数,仅用于程序提供信息,例如@override。
  • 单值注解:有一个参数,若参数名为value,可以省略参数名,例如@SuppressWarnings("all")。
  • 完整注解:有多个参数。
  • 根据注解的使用方法和用途,可以分为:

  • JDK内置注解:JDK 1.5之后引入了 three built-in system annotations,包括@Override和@deprecated。
  • 元注解

    Meta annotations用于描述其他注解的元信息。

    • 定义:@Target用于描述注解可以应用的范围。
    • 参数:仅有一个value属性,其值为ElementType数组类型,表示可以应用在类、接口或枚举类型定义、成员变量、成员方法、方法参数、构造方法、局部变量、注解类型或包定义上的元注解。

    JMPS注解示例

    一些常见的JMPSh注解包括:

    • @Override:用于标识方法是重写父类方法的方法。
    • @Deprecated:用于标记过时的类、成员变量或方法。
    • @SuppressWarnings:用于抑制编译器警告,参数为字符串数组,如@SuppressWarnings("unchecked")。

    自定义注解

    自定义注解需要通过meta annotations描述其应用范围和策略。

    • 定义语法:public @interface AnnotationName { attributes }
    • 参数定义:[public] AttributeType attributeName() [default defaultValue];
    • Tips:若参数名为value,可省略,若定义默认值且未提供,默认值失效则需指定。

    解析注解

    通过反射API获取注解信息:

    • AnnotationElement接口提供了四个方法:getAnnotation(Class
      cls),getAnnotations(),getDeclaredAnnotations(),isAnnotationPresent(Class
      cls)。

    总结

    注解增强了Java的灵活性,提供了更多元数据描述功能,简化了文档生成和依赖跟踪。

    上一篇:Java基础 HTTP协议
    下一篇:Java基础 XML解析

    发表评论

    最新留言

    第一次来,支持一个
    [***.219.124.196]2025年04月17日 04时14分15秒

    关于作者

        喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
    -- 愿君每日到此一游!

    推荐文章