使用参数化构造函数实例化一组给定的 类

Instantiating a given set of classes with parameterized constructors

是否可以在 Java 中获取一组带有参数化构造函数的 classes 并在 运行 时间实例化它们中的每一个?这些 classes 只有一个构造函数,可以接受任意数量的基本类型参​​数,尽管每个 class 所接受的参数数量可能不同。例如,这里有四个 class 我们想要在 运行 时间实例化:

 public class One { public One(int a) { } }
 public class Two { public Two(char a, int b) { } }
 public class Three { public Three(float a, char b, int c) { } }
 public class Four { public Four(float a, char b, int c) { } }
Class oneC = Class.forName("One"); // use FQCN
Contructor constructor = oncC.getConstructors()[0]; // assuming that the class has only 1 constructor
Class<?>[] paramTypes = constructor.getParameterTypes();
// Iterate paramTypes, create each parameter value and then call constructor.newInstance(...)

参考: