1
我想使用僅在運行時環境中可用的類,並且我沒有任何.java或.class文件。使用它的唯一方法AFAIK是通過反思。我已經做了什麼,是寫一個小程序來獲得我的目標類的Class
實例,迭代其公共方法/字段並獲得他們的簽名(類似於this program)。這會給我一個.java源文件的骨架。然後我手動填充這些方法的主體,以便他們使用反射調用真正的方法。所製作的Java文件由我的用戶代碼和javac編譯。這樣我就可以使用目標類而不用我的代碼填充Method/Field getters。Java反射包裝器代碼生成器?
這裏是我的問題:
- 是否有什麼,我試圖做一個特定術語? (「Java反射包裝代碼生成器」也許?)
- 有沒有一種工具可以自動執行我在上面手動執行的任務?
- 如果不是,那麼在構建這樣的工具時面臨的挑戰是什麼?
「我沒有任何.class文件」。聽起來不太可能。你在記憶中建立這個班級,還是你沒有班級檔案? – Kayaman
我會說你正在嘗試編寫一個使用反射來構建它的橋接對象。 –
聽起來像你正在buiilding一個[代理](http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Proxy.html) – OldCurmudgeon