是否可以爲生成覆蓋類的父方法的方法的類編寫Java註釋?您可以生成代碼覆蓋使用Java註釋的方法嗎?
在我來說,我想這樣做android系統:
@OverrideOnTouch class Foo extends Activity {
而且它會產生編譯時onTouch覆蓋方法。
這可能嗎?
是否可以爲生成覆蓋類的父方法的方法的類編寫Java註釋?您可以生成代碼覆蓋使用Java註釋的方法嗎?
在我來說,我想這樣做android系統:
@OverrideOnTouch class Foo extends Activity {
而且它會產生編譯時onTouch覆蓋方法。
這可能嗎?
註釋不能生成代碼。
您可以寫註釋處理器在編譯時增加了一個方法,無論它找到你的註解。
下面是關於這個主題的教程:
但是,請注意編寫註釋處理器是一項大量的Java編碼工作。另請注意,註釋處理器(使用AnnotationProcessor
API實現並通過Java編譯器調用)無法修改Java源代碼。它只能生成新的「.java」文件。
因此,如果要將新方法注入到現有類中,則需要編譯該類,然後使用後編譯註記處理程序,該處理程序使用BCEL或等效方法將所需方法添加到「.class 「由編譯器生成的文件。實施基於BCEL的處理器更加困難。當你升級Java時,這樣的處理器有可能會中斷。 (很容易就JVM /字節碼級別的實現做出假設,這些假設不被相關規範支持......並且在平臺變化時不再「工作」。)
在某些答案中提到了此方法對這個問題: