`

Java反射,根据类名创建带参数的实例

 
阅读更多

public Object dynCreateClassInstanceByName(String className)
throws Exception
{
    Class c;
    Object o;

    c = Class.forName(className);
    o = (c.getClassLoader().loadClass(className)).newInstance();

    return o;
}

//根据类名获取Class对象
  Class c=Class.forName("java.lang.Integer"); 
//参数类型数组
  Class[] parameterTypes=...{String.class};
//根据参数类型获取相应的构造函数
  java.lang.reflect.Constructor constructor=c.getConstructor(parameterTypes);
//参数数组
  Object[] parameters=...{"1"};
//根据获取的构造函数和参数,创建实例
  Object o=constructor.newInstance(parameters);

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics