- ,我讀了配置文件的完整的類名
- 如:org.abcDefaultHandler
- 這個類實現了一個名爲「處理程序」 方法
我用Java反射來調用 「處理程序」執行被Java反射創建的對象的Java接口
Class cls = Class.forName("org.a.b.c.DefaultHandler"); handlerObj = cls.newInstance(); method = cls.getMethod("handler", cArg); method.invoke(handlerObj, service);
類的樣子:
public class DefaultHandler {
public void handler(String service) throws Exception {
...
}
}
我需要確保任何*Handler Class
實現"handler"
方法。如果我做類似
public class DefaultHandler implements handlerInterface {
...
}
它沒有多大用處,因爲編譯器無法幫助我使用反射。
所以,我怎麼能強制在調用/創建在Java反射的類的實例的接口????
我不明白你的問題。 )像這樣'handlerObj = cls.newInstance(創建的對象;'不大於像'新org.a.b.c.DefaultHandler()'在您的示例創建的對象不同。 –
由於反射,自然和定義,運行時工具,我不相信你可以強制執行相關的類定義,這是一個編譯時需要什麼。 – afsantos