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

标签 java reflection

在 Java 中是否可以采用带有参数化构造函数的类集合并在运行时实例化其中的每个类?这些类只有一个构造函数,可以接受任意数量的基元类型参数,但每个类所接受的参数数量可能有所不同。作为示例,以下是我们要在运行时实例化的四个类:

 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(...)

引用:

关于java - 使用参数化构造函数实例化一组给定的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27869502/

相关文章:

reflection - 如何使用 Groovy 获取没有继承方法的类的所有方法名称?

c# - 如何在 C# 中将函数作为参数传递?

c# - 从 .NET 中的堆栈帧获取参数值?

java - 动态创建 POJO/bean 并使用 CGLib 设置值

scala - 如何调用一个trait的所有子类的成员方法?

java - 如果输入不正确,则不允许用户将数据保存到mysql数据库中

java - Java2D 中的文本旋转

java - 如何动态地将按钮添加到 jtoolbar

java - play框架的输入文本值总是传递0

java - 对于不同类型的任务使用不同的线程池是否值得花费这些开销?