我想请问一下怎么去动态实例化一个类, 当然这个类的构造方法是有参数的。
无参的能用Class.forName(""); 有参的怎么办啊, 帮帮我吧
无参的能用Class.forName(""); 有参的怎么办啊, 帮帮我吧
解决方案 »
- 如何用EntityManager批量新增数据库记录,如何优化?
- 关于Struts2 乱码问题!MySQL数据库一旦设置过编码就Unknown initial character set index '45'
- 关于使用 HibernateTemplate 更新实体 报错
- 请问这几句代码输出什么?为什么?
- 小弟新人..高手救命
- Servlet初始化参数
- 关于digester一个问题
- 如何在JEditorPanel格式化显示XML文件的内容?
- !!!!请看看这个异常:weblogic.transaction.RollbackException: Unexpected exception in beforeCompletion: sync=weblogic.ejb20.intern
- 多文件带进度条的上传
- struts 请求错误,精通struts的进啦
- 大家帮忙看看这条错误怎么调?
http://topic.csdn.net/t/20060719/18/4891407.html
public static Object newInstance(String className, Object[] args) throws Exception {
Class newoneClass = Class.forName(className); Class[] argsClass = new Class[args.length]; for (int i = 0, j = args.length; i < j; i++) {
argsClass[i] = args[i].getClass();
} Constructor cons = newoneClass.getConstructor(argsClass); return cons.newInstance(args); }
public class Test {
private String txt;
public Test(String txt) {
this.txt = txt;
}
public void toP(){
System.out.print(txt);
}
}public class Reflection{
public static void main(String[] args) throws Exception
{
Object[] o={"close.wubq"};
Test c=(Test)newInstance("close.wubq.Test",o);//包名+类名
c.toP();
}
public static Object newInstance(String className, Object[] args) throws Exception {
Class newoneClass = Class.forName(className);
Class[] argsClass = new Class[args.length];
for (int i = 0, j = args.length; i < j; i++) {
argsClass[i] = args[i].getClass();
}
Constructor cons = newoneClass.getConstructor(argsClass);
return cons.newInstance(args);
}
}结果:close.wubq