在seam组件中调用private方法

时间:2013-05-29 04:41:25

标签: java reflection jboss-seam

有没有办法在Seam Component中调用私有方法。我使用了以下代码,但我发现声明的方法中没有私有方法。所以,我得到 NoSuchMethodException

Object obj = Component.getInstance("myComponent");
Method myMethod = obj.getClass.getDeclaredMethod("myPrivateMethod",String.class);
myMethod.invoke(obj,"myParameter");

1 个答案:

答案 0 :(得分:2)

制作setAccessible true

 Method myMethod = obj.getClass.getDeclaredMethod("myPrivateMethod",String.class);
 method.setAccessible(true);
 Object r = myMethod.invoke(obj,"myParameter");

值为true表示反射对象在使用时应禁止Java语言访问检查。了解更多信息API