Java 避免父类的getMethod
在使用getMethod()时,我遇到了一个问题。我调用getMethod()的类有许多父方法。但是,我不想让getMethod注意到父类的方法,只注意我正在查看的特定类。例如Java 避免父类的getMethod,java,reflection,Java,Reflection,在使用getMethod()时,我遇到了一个问题。我调用getMethod()的类有许多父方法。但是,我不想让getMethod注意到父类的方法,只注意我正在查看的特定类。例如 class superClass { boolean equals(Object obj) { .... } } ... import superClass class subClass { ... } 现在如果我像这样使用getMethod try{ Class[]
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。。。不断地向我展示我在文档中遗漏的愚蠢的小东西。哈哈。谢谢,这很有效。