反射_通过反射获取无参构造方法并使用

£神魔★判官ぃ 2022-06-17 02:24 347阅读 0赞
  1. package cn.itcast_02;
  2. import java.lang.reflect.Constructor;
  3. import cn.itcast_01.Person;
  4. /*
  5. * 通过反射获取构造方法并使用
  6. */
  7. public class ReflectDemo {
  8. public static void main(String[] args) throws Exception {
  9. // 获取字节码文件对象
  10. Class c = Class.forName("cn.itcast_01.Person");
  11. // 获取构造方法
  12. // public Constructor[] getConstructors():获取所有公共构造方法
  13. // public Constructor[] getDeclaredConstructors():获取所有构造方法
  14. // Constructor[] cons = c.getDeclaredConstructors();
  15. // for (Constructor con : cons) {
  16. // System.out.println(con);
  17. // }
  18. // 获取单个构造方法
  19. // public Constructor<T> getConstructor(Class<?>... parameterTypes)
  20. // 参数表示是:你要获取的构造方法的构造参数个数及数据类型的class字节码文件对象
  21. Constructor con = c.getConstructor();// 返回的是构造方法对象
  22. // Person p = new Person();
  23. // System.out.println(p);
  24. // public T newInstance(Object... initargs)
  25. // 使用Constructor对象表示的构造方法来创建该构造的声明的新实例,并用指定的初始化参数初始化该实例。
  26. Object obj = con.newInstance();
  27. System.out.println(obj);
  28. // Person p = (Person) obj;
  29. // p.show();
  30. }
  31. }

发表评论

表情:
评论列表 (有 0 条评论,347人围观)

还没有评论,来说两句吧...

相关阅读