Java Reflection-对象不是声明类的实例
这个问题在Google上到处都有,但我仍然遇到问题。这就是我想要做的。因此,就像标题状态一样,我遇到了“对象不是声明类的实例”错误。有任何想法吗?谢谢!
Main.java
Class<?> base = Class.forName("server.functions.TestFunction");Method serverMethod = base.getMethod("execute", HashMap.class);
serverMethod.invoke(base, new HashMap<String, String>());
TestFunction.java
package server.functions;import java.util.HashMap;
import java.util.Map;
import server.*;
public class TestFunction extends ServerBase {
public String execute(HashMap<String, String> params)
{
return "Test function successfully called";
}
}
回答:
您正在使用该类调用该方法,但需要一个实例。试试这个:
serverMethod.invoke(base.newInstance(), new HashMap<String, String>());
以上是 Java Reflection-对象不是声明类的实例 的全部内容, 来源链接: utcz.com/qa/423716.html