首先JavaBean类
public class Student {
String name;
int age;
public Student() {
}
private Student(String name, int age) {
this.name = name;
this.age = age;
}
/**
* 获取
*
* @return name
*/
public String getName() {
return name;
}
/**
* 设置
*
* @param name
*/
public void setName(String name) {
this.name = name;
}
/**
* 获取
*
* @return age
*/
public int getAge() {
return age;
}
/**
* 设置
*
* @param age
*/
public void setAge(int age) {
this.age = age;
}
public String toString() {
return "Student{name = " + name + ", age = " + age + "}";
}
}
测试类:
Constructor con = clazz.getDeclaredConstructor(String.class, int.class);
Student dnui = (Student) con.newInstance("东软", "20");
System.out.println(dnui);
运行后代码是报错的,原因是getDeclaredConstructor 这个构造并没有权限去创建对象,需要在前面给它权限,利用Constructor中的setAccessible方法,修改后如下。
Constructor con = clazz.getDeclaredConstructor(String.class, int.class);
con.setAccessible(true);
Student dnui = (Student) con.newInstance("东软",20);
System.out.println(dnui);