Java中注释的目的是什么?我有一个模糊的想法,认为它们介于注释和实际代码之间。它们会在运行时影响程序吗?
它们的典型用法是什么?
它们是 Java 独有的吗?是否有 C++ 等价物?
原文由 Lehane 发布,翻译遵循 CC BY-SA 4.0 许可协议
另外,它们是 Java 独有的吗?是否有 C++ 等效项?
不,但是 VB 和 C# 具有相同的 属性。
它们的用途非常广泛。一个典型的 Java 示例 @Override
对代码没有影响,但如果装饰方法实际上没有覆盖另一个方法,编译器可以使用它来生成警告(或错误)。同样,方法可以标记为过时。
然后是反思。当您在代码中反映类的类型时,您可以访问属性并根据在那里找到的信息采取行动。我不知道 Java 中的任何示例,但在 .NET 中,编译器使用它来为类生成 (反)序列化 信息,确定结构的 内存布局 并 声明从遗留库(以及其他)导入的函数。它们还控制 IDE 表单设计器的工作方式。
/编辑:类的属性类似于标记接口(如 Java 中的 Serializable )。但是,.NET 编码指南说不要使用标记接口。此外,它们仅适用于类级别,而不适用于方法级别。
原文由 Konrad Rudolph 发布,翻译遵循 CC BY-SA 3.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
3 回答1.7k 阅读✓ 已解决
注解主要由检查其他代码的代码使用。它们通常用于在运行时修改(即装饰或包装)现有类以改变它们的行为。 JUnit 和 Hibernate 等框架使用注释来最大程度地减少您为使用这些框架而需要自己编写的代码量。
甲骨文在他们的网站上 对这个概念及其在 Java 中的含义有很好的解释。