关于动态实例化类的方法,如果能够带参数实例化???? 如题,现在有Class.forName("某某类名").newInstance();只容许不带任何参数的构造函数类.现在我知道要实例化的类名了,也知道参数的值了,怎么构造这个类呢?他只有一个带参数的构造函数阿. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 package com.didoleo.test;public class MyClass { public MyClass(){ } public MyClass(int x,int y){ } public MyClass(double x,double y){ } public MyClass(String x,String y){ System.out.println(x+" "+y); } }/////////////////////package com.lihongtu.test;import java.lang.reflect.*;public class TestCon { public static void main(String[] args) { try { Constructor[] cons = MyClass.class.getConstructors(); if (cons != null && cons.length > 0) { MyClass obj = (MyClass) cons[2].newInstance(new Object[] { new String("hello"), new String("didoleo")}); } } catch (Exception e) { e.printStackTrace(); } } }//要注意以下的是:MyClass 中有4个构造函数,其中public MyClass(String x,String y)算是第3个构造函数,因此cons[2] 下标用的是 "2" ,这个我是凑出来的. 哦,谢谢,我也看到Constructor类了,不过没深研究。楼上的方法很好,谢谢了。在说一次谢谢了!呵呵,spring我也在看,不过好像都是CGLIB生成的吧,哪个包没怎么看,不知道怎么生成的。 [不是高手,勿入】高分求救。notify 与 notifyAll 什么区别?? 集合问题==》请高手帮忙解决 求救: java swing 刷新 有没有HTML的帮助啊 可以在applet中使用SSLSocket之类的东西? 将String转换为Color的方法 聊天小项目中出现的问题 求解决大神 java中的package和import? 请问Java Applet是否能在没装JDK机子上的浏览器运行,同时运行IE上运行Java的dll是什么? 隐式参数this和super是如何实现的 一个出错信息看不懂 小的跟各位老大跪下了!急!
}
public MyClass(int x,int y){
}
public MyClass(double x,double y){
}
public MyClass(String x,String y){
System.out.println(x+" "+y);
}
}/////////////////////
package com.lihongtu.test;
import java.lang.reflect.*;
public class TestCon {
public static void main(String[] args) { try {
Constructor[] cons = MyClass.class.getConstructors();
if (cons != null && cons.length > 0) {
MyClass obj = (MyClass) cons[2].newInstance(new Object[] {
new String("hello"), new String("didoleo")});
} } catch (Exception e) {
e.printStackTrace();
} }
}
//要注意以下的是:MyClass 中有4个构造函数,其中public MyClass(String x,String y)
算是第3个构造函数,因此cons[2] 下标用的是 "2" ,这个我是凑出来的.