读书人

JAVA反射机制的一个疑问,该怎么处理

发布时间: 2012-02-15 12:09:43 作者: rapoo

JAVA反射机制的一个疑问
一个类只有一个有参数的构造函数,
请问可以用Class.forName()来创建这个类的对象吗?

[解决办法]
不能,因为这时候必须在构造对象的时候提供参数,否则,怎么初始化对象呢?
[解决办法]
反射只能调用无参的构造方法,需要反射的类都必须提供无参的构造方法
[解决办法]
import java.lang.reflect.*;

public class Test5
{
public Test5(int i)
{
System.out.println(i);
}

public static void main(String[] args)
{
try {
Constructor constructor = Test5.class.getDeclaredConstructor(new Class[]{int.class});
Test5 test5 = (Test5)constructor.newInstance(new Object[]{new Integer(2)});
} catch (Exception e) {
e.printStackTrace();
}
}
}

读书人网 >J2SE开发

热点推荐