一个方法根据传入的Class对象,生成继承或实现它的内部类对象

来源:百度知道 编辑:UC知道 时间:2024/06/07 23:56:13
MyInterface.class // 一个类或接口的Class对象
public void method(MyInterface.class){// 传入一个Class对象
// 根据传入的Class对象,生成继承或实现它的内部类对象

}
我不需要生成传入的Class对象的一个实例,我要生成继承或实现它的一个实例,而且要对类或接口都成立!

是不是太难了,没人能解决啊?(要对jvm或者有可能对C++有相当了解的人能做出来!)

只能对有构造方法的类实例化一个对象。
对于没有构造方法的类或接口是没办法的。
给你个小例子,只对无参构造方法起作用
public static Object method(Class c) {
Object o = null;
try {
Constructor[] cts = c.getConstructors();
if(cts.length>0){
int i=cts.length;
for(int j=0;j<i;j++){
if(cts[j].getParameterTypes().length==0){
i=j;
break;
}
}
o=cts[i].newInstance();
}
} catch (Exception e) {
e.printStackTrace();
}
return o;
}