2011-06-04 50 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