这样写java注解有啥作用?

发布于 2022-09-12 23:58:33 字数 647 浏览 43 评论 0

@FirstAnno(i = 3, d = 5.1, ins = 3)
public class AnnotationDemo {

    @FirstAnno(i = 3, d = 5.1, ins = 3)
    int i = 5;
    double d = 3.2;

    @FirstAnno(i = 3, d = 5.1, ins = 3)
    public static void main(String[] args) {
        
        int j = 3;
        System.out.println(j);
    }
}

@Target({ ElementType.TYPE, ElementType.FIELD, ElementType.METHOD })
@Retention(RetentionPolicy.CLASS)
@interface FirstAnno {

    // int i = 5;
    // 定义了一个属性i
    int i();

    // 表示给属性d一个默认值3.2
    double d() default 3.2;

    int[] ins();
}

我已经知道了注解是用来给编译器提示 以及代码功能注释

这段代码设置了变量i,d,ins

是在哪里用的?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

樱花细雨 2022-09-19 23:58:33

自定义的注解,也需要自定义解析器。所谓解析不过就是用反射机制获取类、方法、成员变量等上面的注解,然后获取注解里i,d等信息进行其他处理,比如可以获取注解里的i,然后用反射赋值给AnnotationDemo实例对象里的i。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文