【发布时间】:2012-12-08 04:03:14
【问题描述】:
我需要创建许多类的新实例。我正在使用反射,但是当我创建 c.newInstance() 时,没有“空参数构造函数”的类会抛出 java.lang.InstantiationException。
现在,我该如何创建每个类的实例?
我知道我可以使用 c.getConstructor(Class).newinstance(params) 创建没有“空参数构造函数”的类的实例,但我不知道每个类的参数。
还有一件事,所有这些类都是从另一个名为 ParentClass 的类扩展而来的,所以我可以使用的一种解决方法是在 ParentClass 中包含一些代码,强制子类实现“空参数构造函数”,但不要知道该怎么做。
提前致谢!
【问题讨论】:
-
大多数依赖反射来创建对象的主要框架都有一个规则,即一切都必须有一个无参数构造函数,在代码中不会以任何方式“强制”,你只需要知道你必须包括它。
标签: java reflection