是否可以为生成覆盖类父方法的方法的类编写 Java 注释?
就我而言,我想在android中做到这一点:
@OverrideOnTouch
class Foo extends Activity {
它会在编译时生成一个 onTouch 覆盖方法。
可能吗?
是否可以为生成覆盖类父方法的方法的类编写 Java 注释?
就我而言,我想在android中做到这一点:
@OverrideOnTouch
class Foo extends Activity {
它会在编译时生成一个 onTouch 覆盖方法。
可能吗?
注释不能生成代码。
您可以编写一个注解处理器,在编译时添加一个方法,只要它找到您的注解。
这是有关此主题的教程:
但是,请注意,编写注释处理器是大量 Java 编码工作。另请注意,注释处理器(使用AnnotationProcessor
API 实现并通过 Java 编译器调用)不能修改 Java 源代码。它只能生成新的“.java”文件。
因此,如果要将新方法注入现有类,则需要编译该类,然后使用使用 BCEL 或等效的编译后注释处理器将所需的方法添加到由生成的“.class”文件中编译器。实现基于 BCEL 的处理器……更难。当您升级 Java 时,此类处理器往往会出现故障。(很容易对相关规范不支持的 JVM / 字节码级别实现做出假设......并且在平台发生变化时不再“工作”。)
这个问题的一些答案中提到了这种方法: