代码实现:
package shujia1124.Student;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
public class GetConTest {
public static void main(String[] args) throws NoSuchMethodException, IllegalAccessException, InvocationTargetException, InstantiationException {
Class<student> c1 = student.class;
//获取构造方法 getConstruction 获取的是单个的 无参的 公有的构造方法
Constructor<?> c2 = c1.getConstructor();
System.out.println(c2);
System.out.println("-------------");
//获取全部的公有构造方法:getConstructions()
Constructor<?>[] c3 = c1.getConstructors();
for (Constructor con : c3) {
System.out.println(con);
}
System.out.println("--------------");
//获取所有的构造函数中的一个
Constructor<student> c4 = c1.getDeclaredConstructor();
System.out.println(c4);
System.out.println("--------------");
//获取所有的构造函数
Constructor<?>[] c5 = c1.getDeclaredConstructors();
for (Constructor con : c5) {
System.out.println(con);
}
System.out.println("------------" + "\n");
//获取构造方法带参
Constructor c6 = c1.getConstructor(String.class, int.class, String.class);
System.out.println(c6);
//带入字符
Object person = c6.newInstance("张三", 22, "tou");
System.out.println(person);
}
}