使用getMethod()时,我遇到了一个问题。我正在调用getMethod()的类具有许多父方法。但是,我不希望getMethod注意到父类的方法,而只注意到我正在查看的特定类。例如...

class superClass {
    boolean equals(Object obj) {
        ....
    }
}

...

import superClass

class subClass {
    ...
}


现在,如果我使用这样的getMethod ...

try{
   Class[] args = new Class[1];
   args[0] = Object.class;
   Method equalsMethod = subClass.getMethod("equals", args);
}

catch(NoSuchMethodException ex){
...
}


我不希望它从当前正在执行的superClass中引入equals方法。我只想知道我正在调用getMethod的类(在本例中为subClass)是否包含方法equals()。

有什么办法吗?任何帮助,将不胜感激。

最佳答案

尝试getDeclaredMethod(String,args)。它只会返回类明确声明的方法,因此不涉及任何超类。

10-07 21:03