通过反射去获取有参构造方法并使用
import java.lang.reflect.Constructor;
/*
* 需求:通过反射去获取该构造方法并使用:
* public Person(String name, int age,String address)
*
* Person p = new Person("林青霞",27,"北京");
* System.out.println(p);
*/
public classReflectDemo2 {
public static void main(String[] args) throws Exception {
// 获取字节码文件对象
Classc = Class.forName("cn.itcast_01.Person");
// 获取带参构造方法对象
// public Constructor<T>getConstructor(Class<?>... parameterTypes)
Constructorcon = c.getConstructor(String.class, int.class,
String.class);
// 通过带参构造方法对象创建对象
// public T newInstance(Object... initargs)
Objectobj = con.newInstance("林青霞", 27, "北京");
System.out.println(obj);
}
}
运行结果:
Person[name=林青霞, age=27, address=北京]