1

存在以下问题:我有一个内部私有类,它有公共方法,我需要重写它。是否可以使用 Java 反射?

更新:

public class MyPublicClass {

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

2 回答 2

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 回答
0

单独使用反射是不可能的。但是您可以通过使用AspectJ或其他面向 Aspect 的 Java 编程库来管理。它允许您使用某些规则修改字节码。

于 2012-10-19T10:39:19.957 回答