Class类
成员方法
public Constructor getConstructor(Class... params);<br /> 根据参数列表,获取对应的构造器对象(仅公共构造函数)<br /> public Constructor getDeclaredConstructor(class... params);<br /> 根据参数列表,获取对应的构造器对象(包含私有构造函数)<br /> public Constructor getConstructors();<br /> 获取此类的所有构造函数(不包含私有)
Constructor类:构造器类
概述
属于java.base模块下的java.lang.reflect包下的类
成员方法
public String getName(); 获取构造参数名<br /> public T newInstances(Object... params); 根据此构造函数和指定参数创建对象
案例
public class ReflectDemo1 {public static void main(String[] args) throws Exception{//需求:通过放射的方式创建:Student类型的对象//1.获取Student类的字节码文件对象Class clazz = Class.forName("Note.Student");//2.根据第一步获取到的字节码文件对象,获取指定的构造器对象/* //2.1获取公共的无参构造Constructor con1 = clazz.getConstructor();System.out.println(con1);//2.2获取公共的有参构造Constructor con2 = clazz.getConstructor(String.class);System.out.println(con2);//2.3获取私有的有参构造Constructor con3 = clazz.getDeclaredConstructor(int.class);System.out.println(con3);//2.4获取Student类所有公共构造参数Constructor cons [] = clazz.getConstructors();for (Constructor con : cons) {System.out.println(con);}*///2.2获取公共的有参构造Constructor con2 = clazz.getConstructor(String.class);System.out.println(con2);//获取构造器的名字System.out.println(con2.getName());//3.根据构造器对象和参数,创建对应的Student对象Student stu =(Student) con2.newInstance("张三");//4.打印结果System.out.println(stu);}}
