我遇到过一种情况,我有一个Method
来自接口定义的Method
实例和一个来自实现类的相同方法的实例。
例如:
public interface Foo {
void bar();
}
public class FooImpl implements Foo {
public void bar() {
System.out.println("foobar");
}
}
使用反射,我从接口获得了一个Method
实例,并从. 本质上,我需要考虑这些相等,但显然该方法表明它们不相等。bar
Foo
FooImpl
Methods
equals
具体来说,我需要一种方法来确定Method
通过反射获得的给定是否覆盖了超类/接口Method
。
我目前正在使用一种解决方法,通过从给定类中找到“最少派生”方法来完全避免这种情况,但我想知道是否有更优雅的解决方案。