想在MVC模型中,在控制器动态加载Action类,而且控制器只能通过读取配置文件来知道类的位置和名字。
在网上找了一些例子,都要用到(myAction)constructor.newInstance(参数)来强制转换类的类型,在种转换方式在只知道类名字的情况下好像不太可行。
请问有没有更好的方法?

解决方案 »

  1.   

    行吧...class.forName(Class)
    可以获取这个Class对象
    然后通过getInstance可以获得所有这个类 实现的借口
    通过getSuper()(好象是这么写)可以获得父类仔细去看看CLASS  的JDK文档吧
    我也是刚看到 RTTI 和 反射机制这里...也不是太明白呢
      

  2.   

    class.forName(Class).getConstructor(Class[] parameterTypes).newInstance(Object[] initargs)
    parameterTypes 参数是 Class 对象的一个数组,这些 Class 对象按声明顺序标识构造方法的形式参数类型。
    initargs 则是参数类型 parameterTypes 的初始值。如果 parameterTypes 是{int, String},那么 initargs 就是{0, ""}