Java注释是否添加符号或功能?

时间:2010-04-01 08:39:32

标签: java annotations

除了添加有关代码中发生的事情的文档之外,Java注释是否用于向Java代码添加功能?您可以通过注释添加到代码中的最高级/复杂功能是什么?

4 个答案:

答案 0 :(得分:2)

这样的注释只会向类添加信息(元数据)。

然而,人们可以轻松地构建使用该元数据来提供附加功能的系统。

例如,您可以使用apt根据注释提供的信息生成类。

答案 1 :(得分:2)

注释基本上不只是类/方法/字段上的标记(带有可选的附加数据)。其他代码(库或工具)可以发现这些标记并根据找到的注释执行功能。我没有看到注释可能添加的功能的复杂性的实际限制。这可以例如模拟AOP(在带注释的方法之前或之后添加功能)。

答案 2 :(得分:2)

注释需要一个工具来对其做出反应。如果不存在这样的工具,则注释仅仅是符号。 “工具”可以是基于APT的代理或使用反射的某段代码(例如,JUnit的@Test)。

Java编译器可识别多个注释,因此具有预定义的语义:@Override@Deprecated@Target

答案 3 :(得分:1)

我会理解Annotations是一种以机器可读方式记录代码的方法。 例如,在Hibernate中,您可以将对象的整个持久性信息指定为注释。这对您而言是直接可读的,而不是在远程xml文件中。但是,该工具还可以生成配置,数据库方案等。

相关问题