看看java的反射机制和java.lang.class和java.lang.reflect包Constructor[] constructors = c.getDeclaredConstructors();
解决方案 »
- 奇怪的字幕,奇怪的结果
- Exception in thread"main"java.lang.ClassCastException: thepvc cannot be cast to
- 鼠标点击按钮时添加按键声音
- 100分求一方法:导出数据库数据以及数据结构到XML文档,再将XML中的数据导入到另外一个数据库
- 求jb8企业版(400M的那种)下载地址(要Http服务器)
- 超级奇怪好玩的问题,关于Applet
- 把xx.addEventListener(this);放到类的函数中,而不是构造函数,参数该是什么?谢谢!
- 请回答:java下的延时函数是什么?
- 这个问题很难吗?我都问了两遍了?没人回答。那位高手帮帮忙?
- 我写的Java程序怎给没Java环境的人用?
- 教教我怎么配置jdk1.3.1_07
- 关于JAVA文件执行时出现的错误
sFunction = function;
int i = function.lastIndexOf('.'); String classname = "com.justnorth.bc.report.functions."+function; String methodname ="getValue";
Class classinstance = null;
try {
classinstance = Class.forName(classname);
} catch (Exception e) {
throw e;
}
Class[] parameterTypes=new Class[arg.length];
for(i=0;i<parameterTypes.length;i++){
parameterTypes[i]=arg[i].getClass();
System.out.println(parameterTypes[i]);
}
//测试传过来的雷的构造函数的参数类型
// Constructor cs[]=classinstance.getDeclaredConstructors() ;
// for(int j=0;j<cs.length;j++){
// Class[] p=cs[j].getParameterTypes();
// for(i=0;i<p.length;i++){
// System.out.println(p[i]);
// }
// }
Constructor construct=classinstance.getConstructor(parameterTypes);
functionInstance=construct.newInstance(arg);
mMethod=classinstance.getMethod(methodname,new Class[0]);
}
1.A中
B test =new B("参数1","参数2")
2.B中
你怎么接都可以底!!!
我们知道Class.getConstructor(Class[])和Constructor.newInstance(Object[]),所以你直接传入int[]是不行的。关于这样有基本类型的构造我们这样做(使用基本类型对应类中的static TYPE): Class[] paramTypes = {Integer.TYPE, Integer.TYPE};
Object[] params = {new Integer(i), new Integer(j)};
Constructor con = Class.forName(className).getConstructor(paramTypes);
CCC c = (CCC)con.newInstance(params);这样就解决了。
Class[] param = {Integer.TYPE, Integer.TYPE};
int[] temp = {1, 2};
CCC c = (CCC)CCC.class.getConstructor(param).newInstance(temp);