0
这是我在这个论坛中的第一个问题,我一直在寻找我的情况没有运气。jython中的私人方法开始
调用层次结构如下:
public class ClassA {
private methodA() {
a = methodB()
return a
}
private methodB(){
b = methodC()
return b
}
private methodC(){
c = 5 + 1
return c
}
}
所有的方法都在同一个班
我调用私有方法在Jython中使用下面的代码:
m = object.class.getDeclaredMethod("methodA")
m.setAccessible(True)
m.invoke(object)
的问题是setAccessible修饰符会传播到其他私有方法。并且所有方法都会成功返回预期值?
请帮帮我。
所以你说如果methodA被成功调用没有任何错误,这意味着这种方法是内部管理调用所有私有方法,是吗? – NickoF
我会说你刚才改变了acces修饰符从私人到公共这个方法。该方法本身总是有权调用它自己的类的私有方法。 –
如果methodA是公开的,您能否调用methodA并让methodA成功地为您调用methodB?是。反思也是如此。你只需要让你的入口点可以访问,那么房子是你的突袭。 – IceArdor