Java 避免父类的getMethod

Java 避免父类的getMethod,java,reflection,Java,Reflection,在使用getMethod()时,我遇到了一个问题。我调用getMethod()的类有许多父方法。但是,我不想让getMethod注意到父类的方法,只注意我正在查看的特定类。例如 class superClass { boolean equals(Object obj) { .... } } ... import superClass class subClass { ... } 现在如果我像这样使用getMethod try{ Class[]

在使用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){
...
}
我不希望它从超类中引入equals方法,它目前正在这样做。我只想知道我调用的getMethod类(在本例中是子类)是否包含方法equals()


有办法吗?任何帮助都将不胜感激。

尝试getDeclaredMethod(String,args)。它将只返回由类显式声明的方法,因此不涉及超类。

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

使用
子类.getDeclaredMethod()
。这样,您将获得在类中明确声明的方法,或者使用
子类.getDeclaredMethod()
代替
MethodNotFoundException
。这样,您将获得在类中明确声明的方法或
MethodNotFoundException

Stackoverflow。。。不断地向我展示我在文档中遗漏的愚蠢的小东西。哈哈。谢谢,这很有效。Stackoverflow。。。不断地向我展示我在文档中遗漏的愚蠢的小东西。哈哈。谢谢,这很有效。