У меня есть следующая проблема: у меня есть класс, пытающийся использовать отражение для вызова одного из своих защищенных OWN-методов, и я получаю исключение: java.lang.IllegalAccessException : доступ к методу отклоненметод доступа запрещен при вызове метода защиты подкласса java
Может кто-то может пролить свет на это?
Базовый класс:
public abstract class BaseReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// invoke the correct event method:
Method method;
try {
method = this.getClass().getDeclaredMethod("testMethod");
method.invoke(this);
} catch (Throwable ex) {
// ... display exception message
}
}
protected void testMethod() {
}
}
Производный класс бетона:
class MyReceiver extends BaseReceiver {
@Override
protected void testMethod() {
// display error message
}
}
Работает ли он с 'BaseReceiver.class.getDeclaredMethod'? – Thilo
http: // stackoverflow.com/questions/5184284/illegalaccessexception-on-use-reflection –
@KazekageGaara: этот другой вопрос касается методов, недоступных для других. Здесь он пытается назвать свой метод. – Thilo