1

次の問題があります。パブリック メソッドを持つ内部プライベート クラスが 1 つあり、それをオーバーライドする必要があります。Java リフレクションを使用することは可能ですか?

アップデート:

public class MyPublicClass {

    private class MyPrivateClass {
        public void doPublicMethod() {}
    }
}
4

2 に答える 2

0

リフレクションのみを使用することはできません。ただし、AspectJまたは Java 用の別の Aspect 指向プログラミング ライブラリを使用して管理することもできます。特定のルールを使用してバイトコードを変更できます。

于 2012-10-19T10:39:19.957 に答える
0

私が考えることができる唯一の方法は、次のような別のプライベート クラスを使用することです。

public class MyPublicClass {

    private class MyPrivateClass {
        public void doPublicMethod() {}
    }

    private class Test extends MyPrivateClass {
        @Override
        public void doPublicMethod() {
            // Do your stuff
        }
    }
}

しかし、それはリフレクションを使用していません。

于 2012-10-19T09:55:15.687 に答える