javac工具如何处理注释

时间:2016-12-11 10:45:14

标签: java javadoc

javac 工具如何处理源代码中的注释?它们是否已编译并转换为字节码,或者它们的处理方式类似于处理注释行

1 个答案:

答案 0 :(得分:1)

注释由编译器以特殊方式处理。它们被解析,但大多数注释对编译器没有任何意义。例如,如果您错误地使用@Override注释,则会发生编译时错误。您可以找到与编译器相关的注释列表here

之后,行为取决于注释类型:
如果注释的rentention policy设置为RUNTIMECLASS,则实际上它将包含在类文件中。如果保留策略为RUNTIME,则甚至可以在运行时通过反射访问注释。许多图书馆使用它来提供一些额外的舒适度,例如JUnit使用@Test来标记实现单元测试的方法,并在运行时查找这些方法。

此外,java编译器允许实现所谓的“注释处理器”,它可以访问编译单元的AST并处理注释。这是编译器确实处理注释的另一个证明。

相关问题