我遇到了一種情況,其中有一個來自接口定義的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