除了添加有关代码中发生的事情的文档之外,Java注释是否用于向Java代码添加功能?您可以通过注释添加到代码中的最高级/复杂功能是什么?
答案 0 :(得分:2)
这样的注释只会向类添加信息(元数据)。
然而,人们可以轻松地构建使用该元数据来提供附加功能的系统。
例如,您可以使用apt
根据注释提供的信息生成类。
答案 1 :(得分:2)
注释基本上不只是类/方法/字段上的标记(带有可选的附加数据)。其他代码(库或工具)可以发现这些标记并根据找到的注释执行功能。我没有看到注释可能添加的功能的复杂性的实际限制。这可以例如模拟AOP(在带注释的方法之前或之后添加功能)。
答案 2 :(得分:2)
注释需要一个工具来对其做出反应。如果不存在这样的工具,则注释仅仅是符号。 “工具”可以是基于APT
的代理或使用反射的某段代码(例如,JUnit的@Test
)。
Java编译器可识别多个注释,因此具有预定义的语义:@Override
,@Deprecated
,@Target
。
答案 3 :(得分:1)
我会理解Annotations是一种以机器可读方式记录代码的方法。 例如,在Hibernate中,您可以将对象的整个持久性信息指定为注释。这对您而言是直接可读的,而不是在远程xml文件中。但是,该工具还可以生成配置,数据库方案等。