首页 > 代码库 > 通过反射来创建对应运行时类的对象

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

在概述中已经介绍了拥有 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. }

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