方法介绍

public class Users { private String username; private int userage; public Users(){ } public Users(String username,int userage){ this.userage=userage; this.username=username; } private Users(int userage){ this.userage=userage; } public Users(String username){ this.username=username; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public int getUserage() { return userage; } public void setUserage(int userage) { this.userage = userage; }}
方法的使用
import java.lang.reflect.Constructor;
public class GetConstructor {
public static void main(String[] args) throws Exception {
Class clazz=Users.class;
Constructor[] arr = clazz.getDeclaredConstructors(); //返回所有构造方法
for(Constructor c:arr){
System.out.println(c);
}
System.out.println("---------------");
Constructor[] arr_1 = clazz.getConstructors(); //仅返回public类构造方法
for(Constructor c:arr_1){
System.out.println(c);
}
System.out.println("-------------------");
Constructor c1 = clazz.getDeclaredConstructor(int.class); //返回指定构造方法,包含private类型的构造方法
System.out.println(c1);
System.out.println("------------------");
Constructor c2 = clazz.getConstructor(null);//返回指定构造方法,不包含private类型的构造方法
System.out.println(c2);
}
}
通过构造方法创建对象
import java.lang.reflect.Constructor;
public class GetConstructor_2 {
public static void main(String[] args) throws Exception {
Class clazz = Users.class;
Constructor constructor = clazz.getConstructor(String.class,int.class);
Object o = constructor.newInstance("laogeng",25);
Users users =(Users)o;
System.out.println(users.getUsername()+"\t"+users.getUserage());
}
}
