У меня следующая проблема: у меня есть класс, который пытается использовать отражение для вызова одного из своих СОБСТВЕННЫХ защищенных методов, и я получаю исключение: java.lang.IllegalAccessException: доступ к методу запрещен
Может ли кто-нибудь пролить свет на это?
Базовый класс:
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
}
}