Java jython中的私有方法初始

Java jython中的私有方法初始,java,python,jython,Java,Python,Jython,这是我在这个论坛上的第一个问题,我一直在寻找我的案件没有运气 调用层次结构如下所示: public class ClassA { private methodA() { a = methodB() return a } private methodB(){ b = methodC() return b } private methodC(){ c = 5 + 1 re

这是我在这个论坛上的第一个问题,我一直在寻找我的案件没有运气

调用层次结构如下所示:

public class ClassA {
    private methodA() {
            a = methodB()
    return a
    }

    private methodB(){
           b =  methodC()
    return b
    }

    private methodC(){
       c = 5 + 1
    return c
    }
}
所有方法都在同一个类中

我使用jython中的以下代码调用私有方法A:

m = object.class.getDeclaredMethod("methodA")
m.setAccessible(True)
m.invoke(object)
问题是setAccessible修饰符是否会传播到其他私有方法。并且所有方法都将成功返回预期值


请帮帮我。

我不太清楚杰顿。但是看起来m和你的方法是一样的。 如果将m(或methodA)设置为可访问,则不会将methodB设置为可访问


但是,正如您现在可以调用methodA一样,此方法在从其自己的类调用其他私有方法时没有问题。

因此,您的意思是,如果成功调用methodA而没有出现任何错误,这意味着此方法在内部能够调用其内部的所有私有方法,是吗?我想说你刚刚把这个方法的访问修饰符从private改为public。方法本身始终有权调用自己类的私有方法。如果methodA从一开始是公共的,您是否能够调用methodA并让methodA代表您成功调用methodB?对反射也是如此。你只要把你的入口打开,房子就属于你了。