存在以下问题:我有一个内部私有类,它有公共方法,我需要重写它。是否可以使用 Java 反射?
更新:
public class MyPublicClass {
    private class MyPrivateClass {
        public void doPublicMethod() {}
    }
}
存在以下问题:我有一个内部私有类,它有公共方法,我需要重写它。是否可以使用 Java 反射?
更新:
public class MyPublicClass {
    private class MyPrivateClass {
        public void doPublicMethod() {}
    }
}
我能想到的唯一方法是使用这样的单独的私有类:
public class MyPublicClass {
    private class MyPrivateClass {
        public void doPublicMethod() {}
    }
    private class Test extends MyPrivateClass {
        @Override
        public void doPublicMethod() {
            // Do your stuff
        }
    }
}
但这不是使用反射。
单独使用反射是不可能的。但是您可以通过使用AspectJ或其他面向 Aspect 的 Java 编程库来管理。它允许您使用某些规则修改字节码。