有没有一种方法可以调用Seam组件中的私有方法。我使用了以下代码,但我发现在声明的方法中没有私有方法。因此,我得到NoSuchMethodException。
Object obj = Component.getInstance("myComponent");
Method myMethod = obj.getClass.getDeclaredMethod("myPrivateMethod",String.class);
myMethod.invoke(obj,"myParameter");
将setAccessible
设为true
。
Method myMethod = obj.getClass.getDeclaredMethod("myPrivateMethod",String.class);
method.setAccessible(true);
Object r = myMethod.invoke(obj,"myParameter");
值true表示反射对象在使用时应禁止Java语言访问检查。了解API中的更多信息