什么是注释类。它在java / android中有什么用处。
在iphone中,Annotation用于在地图上放置一个图钉..
java有java.lang.Annotation包...有什么用呢?我可以有示例,教程,示例代码等吗?答案 0 :(得分:11)
这两个概念是无关的:
在Java世界中,注释是附加到一段代码的编译时标记。他们将元数据添加到代码片段中,然后工具或第三方(甚至您自己的代码)可以使用。但它们通常不会影响代码的运行方式;也就是说,如果删除了注释,那段代码通常不应该有任何不同的行为。
一个简单的例子是用版权声明标记一段代码。这是我们可能用于此的注释:
public @interface Copyright {
String value();
}
以下是我们将元数据附加到代码的方式:
@Copyright(value = "2010, United States National Security Administration")
public class QuantumCryptographyDecoder { ... }
如果只有一个名为value
的注释属性,则可以省略value =
说明符作为快捷方式:
@Copyright("2010, United States National Security Administration")
public class QuantumCryptographyDecoder { ... }
否则你必须指定它:
@Created(year = 2010)
public class ShinyNewClass { ... }
如果我们删除了@Copyright
注释,则QuantumCryptographyDecoder
仍然可以像以前一样工作。它不会附加任何Copyright
元数据。但是第三方工具进行了某种验证(例如,要求所有名称中包含“Quantum”的类都附加了@Copyright
通知)可以提醒您丢失@Copyright
或采取一些措施其他有用的行动。
答案 1 :(得分:1)
Java中的注释实际上是非常强大的概念。由于可以使用reflectioon API对注释进行反思,因此在执行不同的工作时非常方便。我认为好的和简单的例子是JAXB API。它允许您编写/读取仅与POJO一起使用的XML文件。不需要手动编组/解组XML树。您只需要“标记”您希望包含在带注释的xml中的感兴趣变量。所以它说这个变量包含元数据,允许JAXB API找出你感兴趣的变量,并在XML文件中写入/读取它们的值。
不要幻想破解注释只是扮演一些“装饰”角色,比如持有作者或版本信息等。它们更强大......