2014-01-12 34 views
-1

請幫助我如何在不使用反射api的情況下動態調用java方法我正在xls文件中編寫所有java函數名稱。我的xlsreader逐個讀取函數名稱並調用它反射api,但我想避免反射api ...請幫助我避免反射api來調用動態方法

+1

想到幾件事情,比如使用工廠模式。你能詳細說明你想達到的目標嗎? – Vitaliy

回答

0

完全動態調用只能通過反射完成。但是,您可以使用以下一般方法:

  1. 根據您的使用情況生成調用代碼(即加載xls文件並生成.java文件)。讓它爲所有動態生成的類實現一個接口,它定義了一個execute()方法。
  2. 使用內置的編譯器API(ToolSupport.getSystemJavaProvider
  3. 加載新編譯的類具有自定義ClassLoader
  4. 編譯生成的文件實例化類並調用execute()就可以了。