Java中的注解(Annotations)

举报
赵KK日常技术记录 发表于 2023/06/30 18:02:19 2023/06/30
【摘要】 Java中的注解(Annotations)注解(Annotations),是代码中的特殊标记,可以在编译、运行时通过反射机制读取此标记。Java从1.5版本增加了注解支持,提供了4种内置的注解和用户自定义注解。注解的使用可以达到以下目的:程序修饰:为程序提供一些辅助信息,但不影响程序运行编译检查:编译器可以根据Annotation提供的信息检查代码,如果不符合Annotation的要求将不...

Java中的注解(Annotations)

注解(Annotations),是代码中的特殊标记,可以在编译、运行时通过反射机制读取此标记。
Java从1.5版本增加了注解支持,提供了4种内置的注解和用户自定义注解。
注解的使用可以达到以下目的:

  • 程序修饰:为程序提供一些辅助信息,但不影响程序运行

  • 编译检查:编译器可以根据Annotation提供的信息检查代码,如果不符合Annotation的要求将不能通过编译

  • 自动处理:可以让编译器自动为Annotation打注的代码生成一些辅助代码。
    注解使用方式:
    java
    @注解名
    public class Person{

    }
    自定义一个注解示例:
    java
    @Retention(RetentionPolicy.RUNTIME) // 如何保留注解,源代码、字节码还是运行时
    @Target(ElementType.METHOD) // 注解可以用在什么地方,类、方法等
    public @interface MyAnnotation {
    String value();
    }
    使用自定义注解:
    java
    public class Person{

    @MyAnnotation(value = “hello”)
    public void say(){

    }
    }
    通过反射获取注解信息:
    java
    MyAnnotation annotation = say.getAnnotation(MyAnnotation.class);
    String value = annotation.value(); // 获得注解的参数值
    总的来说,注解可以:

  • 为代码提供元数据

  • 被其他代码读取

  • 消除了在代码中混杂各种标记的情况

  • 使代码结构更清晰
    自定义注解主要通过@Retention@Target两个注解来指定其保留策略和使用范围。
    注解在Java开发中有很多应用场景,例如:

  • 配置设计:配置 Bean、配置Spring等

  • 标识设计模式元素:如@Controller注解标识Controller类

  • 编译检查:如Lombok的@NonNull,能够进行空检查
    以上就是Java注解的介绍与示例,也展示了注解能够给Java程序带来的好处

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。