本帖最后由 吴传淦 于 2013-5-6 23:10 编辑
API文档的解释是说:使用此 Constructor 对象表示的构造方法来创建该构造方法的声明类的新实例,并用指定的初始化参数初始化该实例。
就是说你得到类构造方法的对象后可以使用newInstance()方法来创建对象。
用反射的方法创建一个构造函数的参数类型为StringBuffer的String对象:
public class Test {
public static void main(String[] args) throws Exception {
StringBuffer sb = new StringBuffer("abc");//创建一个StringBuffer对象sb
Class cl = String.class;//获取String.class的字节码
Constructor con = cl.getConstructor(StringBuffer.class);//获取String的参数为StringBuffer的构造函数
String str = (String)con.newInstance(sb);//使用上面获取的构造函数创建String对象
System.out.println(str);
}
}
|