我正在尝试将一个方法作为参数传递给另一个类中的方法。该方法在第一个类中定义,另一个类的方法是静态的。看到它会更容易理解:
设置
public class MyClass extends ParentClass {
public MyClass() {
super(new ClickHandler() {
public void onClick(ClickEvent event) {
try {
OtherClass.responseMethod(MyClass.class.getMethod("myMethod",Boolean.class));
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
public void myMethod(Boolean success) {
if(success.booleanValue()) {
//do stuff
}
}
}
但是,当我尝试构建时,出现以下错误:
错误
The method getMethod(String, Class<boolean>) is undefined for the type Class<MyClass>
问题不在于它没有找到myMethod
,它没有找到Class<MyClass>.getMethod
,我不知道为什么。
更新
我们已经重新编写了这部分代码,并且没有使用“getMethod or
getDeclaredMethod”。由于 npe 发现我正在做的事情存在一些问题,并且付出了很多努力来寻找答案,所以我接受了这个答案。