有沒有一種使用反射來編程創建類的方法?例如。是否有一個私有構造函數,我們可以使用它來創建一個類類型,然後可以用它來創建該類的實例?有沒有辦法通過編程創建java類類型?
我知道還有其他的技巧,例如生成源代碼並編譯它,或者生成字節碼並使用類加載器加載它......但是我想看看是否有可能以某種方式創建一個java.lang的實例.Class直接。
我想寫Clojure中下面的代碼:
(def c (create-class "com.example.Dog" {:fields {"legs" 4}
:methods {"bark" (... do something ...)}
:constructors {.....}}))
(def d1 (.newInstance c))
(def d2 (.newInstance c))
這真的不清楚你在這裏問什麼。你能提供更多細節嗎? –
你問題中的Clojure部分在哪裏? – Chiron
爲了澄清,你需要一種方法來定義一個新的'類'(不是創建一個現有類的新對象)使用反射? – Gus