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
です。
私は現在、特定のクラスから「最小派生」メソッドを見つけることによって状況を完全に回避する回避策を使用していますが、より洗練された解決策があるかどうか疑問に思っています。