JAVA反射构造函数是指使用Java反射API来调用类的构造函数,以创建类的实例。Java反射API提供了一组方法和类,使开发人员能够在运行时检查和操作类、方法、字段等信息,并能够动态地创建、调用和访问对象。
要使用反射调用构造函数,需要使用java.lang.Class类的newInstance()方法或getConstructor()方法。newInstance()方法接受一个参数列表,用于匹配构造函数的参数列表,并返回一个新的对象实例。getConstructor()方法返回一个Constructor对象,该对象代表类的构造函数,可以使用该对象的newInstance()方法来创建新的对象实例。
以下是一个使用反射调用构造函数的示例
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
public class Test {
public static void main(String[] args) throws SecurityException, NoSuchMethodException, IllegalArgumentException, InstantiationException, IllegalAccessException, InvocationTargetException {
Class cls = People.class; //得到类对象cls
Class[] clses = {String.class,int.class}; //设置构造函数参数类型
Constructor cons = cls.getConstructor(clses); //得到构造函数
Object[] objs = {"姓名",23}; //设置参数值
Object o = cons.newInstance(objs); //实例化对象
System.out.println(o); //打印出对象
}
}