- ,我读了配置文件的完整的类名
- 如: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