gpt4 book ai didi

java - 为什么java注解可以包含字段甚至类?

转载 作者:行者123 更新时间:2023-12-02 01:05:23 25 4
gpt4 key购买 nike

注释中的字段或类有什么用?

public @interface Test {
public String val = "hello"; // WHY??

public static class MyClass {// WHY??
public static void main(String[] args) {
System.out.println(val);
}
}

String value();
}

最佳答案

字段:因为你可以在任何界面中定义字段。它们始终是隐式公共(public)的、静态的和最终的:换句话说,在接口(interface)的命名空间中定义常量。

对于类来说,答案本质上是相同的:它是一个公共(public)的、静态的(但不是最终的)类。它只是一个用来定义类的命名空间。

<小时/>

要扭转这个问题:为什么你不应该能够做到这一点?

您可以做各种各样在语法上有效的事情,但您可能认为这些事情是不明智的。例如:

String String = "String"; String: break String;

是有效的,但无用且令人困惑。这里的String有3种不同的含义,如果算字面量的话有4种。这远不如注释成员有用,但也是允许的。

有时它会阻止你做事情:它增加了语言的复杂性,并增加了编译器的强制执行;为了防止奇怪的疯狂行为,您可能会不小心删除有用的表达性。

关于java - 为什么java注解可以包含字段甚至类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60121126/

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