2011-06-04 47 views
3

我正在使用反射从扩展类动态调用某些方法。遗憾的是这些方法之一被声明为private本地和,只要我打这个电话......我收到以下异常:反射和私有本地方法

java.lang.IllegalAccessException: Class com.something.somewhere.MyThing ca 
n not access a member of class com.something.somewhere.AnotherThing with modifier 
s "private native" 

有没有办法解决?

回答

6

你在调用之前调用方法setAccessible(true)

+1

+1 - 这是解决方法。但是OP应该问他/她是否打电话给另一个班的**私人**方法是个好主意...... – 2011-06-04 01:19:45

+0

感谢您的建议。这种工作,但不完全 – Pass 2011-06-04 01:33:51

+0

@Pass - 我的猜测是,它没有工作,因为该方法根本没有设计用于你使用它的方式。它被宣布为“私人”的事实是一个很大的暗示,你不应该*试图调用它。 – 2011-06-04 02:22:27