gpt4 book ai didi

Java 和@annotations

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:08:09 25 4
gpt4 key购买 nike

在使用 Java 注释时,有些事情我不确定是否理解。这是一个例子:

我创建了一个@Log 注释并用它添加了一些功能(每个用@Log 注释的方法在执行该方法之前都会运行一些日志)。

现在我正在创建一个新的 @SuperLog 注释,如下所示:

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
@Log
public @interface SuperLog {
............
}

这个@SuperLog 必须提供@Log 所做的所有内容,以及一些特定于@SuperLog 的额外内容。

不幸的是,当我执行一些用@SuperLog 注释的方法时,特定于@Log 的日志不会执行。

我不明白为什么:@SuperLog 用@Log 注释的事实并不意味着它“继承”了@Log 的属性? @SuperLog 不应该做@Log 应该做的所有事情吗?

最佳答案

因为这个question outlines,没有注释的继承。

除此之外:请记住,注释(主要)在运行时才有意义,因为一些框架会对它们的存在使用react。

换句话说:您可以创建一个框架,以某种方式支持继承树附带的注释。但是假设您正在使用一些现有的框架,您必须接受这个框架正在做的事情。

关于Java 和@annotations,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50534526/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com