Java - 使用Reflection创建新实例,而不需要知道构造函数参数

ori*_*ken 5 java reflection

我需要创建许多类的新实例.我正在使用反射但是当我创建c.newInstance()时,没有'empty parameter constructor'的类会抛出java.lang.InstantiationException.

现在,我该怎么做才能创建每个类的实例?

我知道我可以使用c.getConstructor(Class).newinstance(params)创建没有'空参数构造函数'的类的实例,但我不知道每个类的参数.

还有一件事,所有这些类都扩展自另一个名为ParentClass的类,因此我可以使用的一种解决方法是在ParentClass中包含一些强制子类实现"空参数构造函数"的代码,但不知道如何做这个.

提前致谢 !

jah*_*roy 10

您可以调用Class.getConstructors()来获取给定类的所有构造函数.

在每个构造函数上,您可以调用Constructor.getGenericParameterTypes()来了解它所期望的参数.