次の問題があります。パブリック メソッドを持つ内部プライベート クラスが 1 つあり、それをオーバーライドする必要があります。Java リフレクションを使用することは可能ですか?
アップデート:
public class MyPublicClass {
private class MyPrivateClass {
public void doPublicMethod() {}
}
}
次の問題があります。パブリック メソッドを持つ内部プライベート クラスが 1 つあり、それをオーバーライドする必要があります。Java リフレクションを使用することは可能ですか?
アップデート:
public class MyPublicClass {
private class MyPrivateClass {
public void doPublicMethod() {}
}
}
リフレクションのみを使用することはできません。ただし、AspectJまたは Java 用の別の Aspect 指向プログラミング ライブラリを使用して管理することもできます。特定のルールを使用してバイトコードを変更できます。
私が考えることができる唯一の方法は、次のような別のプライベート クラスを使用することです。
public class MyPublicClass {
private class MyPrivateClass {
public void doPublicMethod() {}
}
private class Test extends MyPrivateClass {
@Override
public void doPublicMethod() {
// Do your stuff
}
}
}
しかし、それはリフレクションを使用していません。