是否有可能从私有内部类重写公共方法?

时间:2012-10-19 09:45:18

标签: java

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

更新:

public class MyPublicClass {

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

2 个答案:

答案 0 :(得分:0)

我能想到的唯一方法就是使用这样一个单独的私有类:

public class MyPublicClass {

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

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

但那不是反射。

答案 1 :(得分:0)

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