这是我在这个论坛上的第一个问题,我一直在寻找我的案例,但没有运气。
调用层次如下:
public class ClassA {
private methodA() {
a = methodB()
return a
}
private methodB(){
b = methodC()
return b
}
private methodC(){
c = 5 + 1
return c
}
}
所有方法都在同一个类中
我在 jython 中使用以下代码调用私有(private)方法 A:
m = object.class.getDeclaredMethod("methodA")
m.setAccessible(True)
m.invoke(object)
问题是 setAccessible 修饰符是否会传播到其他私有(private)方法。所有方法都会成功返回预期值吗?
请帮助我。
最佳答案
我不太了解 jython。但看起来 m 与你的 methodA 相同。 如果您将 m (或方法 A 分别)设置为可访问,则您将无法将方法 B 设置为可访问。
但是由于您现在可以调用 methodA,因此该方法从其自己的类调用其他私有(private)方法没有问题。
关于java - jython 中的私有(private)方法启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43867353/