Class类

成员方法

  1. public Constructor getConstructorClass... params);<br /> 根据参数列表,获取对应的构造器对象(仅公共构造函数)<br /> public Constructor getDeclaredConstructorclass... params);<br /> 根据参数列表,获取对应的构造器对象(包含私有构造函数)<br /> public Constructor getConstructors();<br /> 获取此类的所有构造函数(不包含私有)

Constructor类:构造器类

概述

属于java.base模块下的java.lang.reflect包下的类

成员方法

  1. public String getName(); 获取构造参数名<br /> public T newInstancesObject... params); 根据此构造函数和指定参数创建对象

案例

  1. public class ReflectDemo1 {
  2. public static void main(String[] args) throws Exception{
  3. //需求:通过放射的方式创建:Student类型的对象
  4. //1.获取Student类的字节码文件对象
  5. Class clazz = Class.forName("Note.Student");
  6. //2.根据第一步获取到的字节码文件对象,获取指定的构造器对象
  7. /* //2.1获取公共的无参构造
  8. Constructor con1 = clazz.getConstructor();
  9. System.out.println(con1);
  10. //2.2获取公共的有参构造
  11. Constructor con2 = clazz.getConstructor(String.class);
  12. System.out.println(con2);
  13. //2.3获取私有的有参构造
  14. Constructor con3 = clazz.getDeclaredConstructor(int.class);
  15. System.out.println(con3);
  16. //2.4获取Student类所有公共构造参数
  17. Constructor cons [] = clazz.getConstructors();
  18. for (Constructor con : cons) {
  19. System.out.println(con);
  20. }*/
  21. //2.2获取公共的有参构造
  22. Constructor con2 = clazz.getConstructor(String.class);
  23. System.out.println(con2);
  24. //获取构造器的名字
  25. System.out.println(con2.getName());
  26. //3.根据构造器对象和参数,创建对应的Student对象
  27. Student stu =(Student) con2.newInstance("张三");
  28. //4.打印结果
  29. System.out.println(stu);
  30. }
  31. }