java - getMethod 避免父类

标签 java reflection

在使用 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){
...
}

我不希望它从父类(super class)中引入 equals 方法,而它目前正在这样做。我只想知道我调用 getMethod 的类(在本例中为子类)是否包含方法 equals()。

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

最佳答案

试试 getDeclaredMethod(String, args)。它只会返回您的类显式声明的方法,因此不涉及父类(super class)。

关于java - getMethod 避免父类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16658031/

相关文章:

java - 在javafx Listview中隐藏垂直滚动条

java - 在 JTable 中编辑时锁定整行

java - 使用反射获取字段的初始化值

java - 为什么返回类型(强制转换)在 MethodHandler 性能中起着至关重要的作用?

java - 在Spring编译期间用另一个注释替换一个注释?

java - 获取JAVA中动态加载的类的.class文件的路径

java 消除重复代码的常用函数

java - 如何去除 Vaadin 8 Grid 中的单元格边框?

java - 在提交类型的帖子上调用 doget,反之亦然

swift - 如何将其中包含 nil 的 Any 值转换为 Any?