【问题标题】:newInstance() cannot find constructor that exist [duplicate]newInstance()找不到存在的构造函数[重复]
【发布时间】:2017-01-31 10:38:23
【问题描述】:

我认为我遗漏了一些东西。我正在尝试做下一件事:

Class.forName(className).getConstructor(getParameterTypes(parameters)).newInstance(parameters);

我遇到错误

java.lang.NoSuchMethodException: MyClass.<init>(java.lang.Class)

我的班级名称是完整的班级名称(带有包)。方法 getParameterTypes 正在返回类 java.lang.Class。参数变量是类的类型,在 MyClass 中我有接受类的构造函数。有人知道是什么问题吗?

【问题讨论】:

  • 你能粘贴你班级的代码吗?异常是由于您的 getParameterTypes() 没有返回预期的参数。您的代码可以提供更好的想法。

标签: java class reflection nosuchmethoderror


【解决方案1】:

我偶然想出了解决方案,想做临时解决方案。 xD 问题是构造函数是受保护的,而不是公开的。

【讨论】:

    猜你喜欢
    • 2012-09-06
    • 1970-01-01
    • 2018-04-13
    • 1970-01-01
    • 2019-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多