2012-01-30 97 views
4

我知道這聽起來有點奇怪,但我想知道是否可以在運行時手動創建java.lang.Method是否可以「手動」在Java中創建java.lang.Method實例?

那麼Class<?>呢?

+6

有興趣瞭解爲什麼要這樣做。在運行時生成代碼? – Marcelo 2012-01-30 14:14:25

+3

使用['JavaCompiler'](http://stackoverflow.com/a/8080955/418556)編譯內存中的代碼。然後,您可以根據需要使用所得到的類及其方法和屬性來執行操作。也很想知道這個功能的用例。每當一個問題以*開頭時,「這可能聽起來有點奇怪」*這是提供用例的一個很好的暗示。 ;) – 2012-01-30 14:21:00

回答

4

有可能使用的庫,如創建Class<?>在運行時:

這些,可以包含方法,您可以通常使用反射來檢索。

再看看:https://stackoverflow.com/a/2532269/272388

+0

我很瞭解這些庫。我只是想知道是否可以用Java的思考來做到這一點。 – 2012-01-30 14:24:27

+0

不,這是不可能的: 'java.lang.reflect: 提供類和接口來獲得關於類和對象的反射信息.''''您可以使用'ClassLoader'來加載類,但是您仍然需要創建字節碼。 – Kru 2012-01-30 14:40:09

相關問題