gpt4 book ai didi

Java - 在不知道构造函数参数的情况下使用反射创建新实例

转载 作者:搜寻专家 更新时间:2023-10-31 08:15:24 25 4
gpt4 key购买 nike

我需要创建许多类的新实例。我正在使用反射,但是当我制作 c.newInstance() 时,没有“空参数构造函数”的类会抛出 java.lang.InstantiationException。

现在,我该如何创建每个类的实例?

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

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

提前致谢!

最佳答案

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

在每个Constructor ,您可以调用Constructor.getGenericParameterTypes()了解它期望哪些参数。

关于Java - 在不知道构造函数参数的情况下使用反射创建新实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13769994/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com