【Java】【反射】Constructor创建有参构造函数的反射
2017-04-08 本文已影响445人
JerichoPH
Constructor创建有参构造函数的反射类
Class类的newInstance()方法是使用该类无参构造方法创建对象,如果一个类只有有参构造则可以使用Class.getConstructor(String.class,int.class)方法获取一个指定的构造方法然后再调用Constructor.newInstance("张三",20)创建对象
// 反射有参构造函数的类
public class Demo_Reflect {
public static void main(String[] args) throws Exception {
Class cls = Class.forName("com.demo.Person");
Constructor c = cls.getConstructor(String.class,int.class);
Person p = (Person) c.newInstance("张三",23);
System.out.println(p);
}
}
class Person {
@Override
public String toString() {
return "Person [name=" + name + ", age=" + age + "]";
}
private String name;
private int age;
public Person(String Name, int Age) {
name = Name;
age = Age;
}
}