public class Test
{
private ArrayList<Object> list = new ArrayList<Object>();
private void addToList(Object o)
{
list.add(o);
}
}
如果我通过反射从外部类调用方法addToList(Object o)
,是否有一些我需要考虑的,以便反射调用能够访问列表?
BMethod method = builderClass.getDeclaredMethod("addToList", new Class<?>[]{Object.class});
我正在使用BlueJ api,它类似于Java中的反射,但包装了对象,因此使用了BMethod。
我只是想知道该方法是否需要对数组列表有一些引用,因为它无法通过反射调用
看到它感谢我已经设法解决了这个问题。对于那些想要知道答案的人——我调用的方法,我添加了代码来反射地获取内部字段。不知道为什么要这样做,但它应该工作
- 检索方法(您已经有)
- 使其可访问,允许您调用该方法,尽管它是私有的
- 调用
必须在Method
对象上调用method.setAccessible(true)