通过反射来创建对应运行时类的对象

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过反射来创建对应运行时类的对象相关的知识,希望对你有一定的参考价值。

在概述中已经介绍了拥有 Class 对象大概可以干些什么事情,现在详细说明第一件事也是用得最多的一方面:创建对应运行时类的对象

通过重载的两个 .newInstance 方法(空参/带参构造器),可以创建对应的运行时类的对象(注意:如果想调用带参的构造器,需要用 Constructor 对象来调):
  1. public class TestNew {
  2. public static void main(String[] args) throws InstantiationException, IllegalAccessException, NoSuchMethodException, SecurityException, IllegalArgumentException, InvocationTargetException {
  3. Class<Person> clazz = Person.class;
  4. Person p1 = clazz.newInstance();
  5. Constructor<Person> cons = clazz.getConstructor(int.class, String.class);
  6. Person p2 = cons.newInstance(21, "cdf");
  7. System.out.println(p1);// Person [age=0, name=null]
  8. System.out.println(p2);// Person [age=21, name=cdf]
  9. }
  10. }

以上是关于通过反射来创建对应运行时类的对象的主要内容,如果未能解决你的问题,请参考以下文章

反射--03--运行时类对象

Java 反射--创建运行时类的对象

java反射系列四之创建运行时类的对象

Java 反射机制:创建运行时类的对象

反射机制

31反射(获取Class实例剖析运行时类的完整结构读取properties文件反射创建类越过泛型检查)枚举