我遇到了一种情况,其中有一个来自接口定义的Method
实例和来自实现类的相同方法的Method
实例。检查超类/接口方法和等式的重写方法
例如:
public interface Foo {
void bar();
}
public class FooImpl implements Foo {
public void bar() {
System.out.println("foobar");
}
}
使用反射,我从Foo
接口,并从FooImpl
其派生实现获得的bar
一个Method
实例。从本质上讲,我需要考虑这些Methods
相等,但显然equals
方法表明它们是不等价的。
具体而言,我需要一种方法来确定通过反射获得的给定Method
是否覆盖超类/接口Method
。
我目前使用通过从给定的类找到“来源至少”方法完全避免了局势的解决办法,但我不知道是否有一个更优雅的解决方案。
你需要这个在运行时?否则,文档应该使用'@ Override'标签来解决这个问题。 – Simulant 2012-07-16 19:25:30
是的,我在运行时需要它。 – 2012-07-16 19:27:01