Mam następujący problem: Mam klasę, próbuję użyć odbicia, aby wywołać jedną z jej chronionych metodami OWN, i otrzymuję wyjątek: java.lang.IllegalAccessException : dostęp do metody odmowyOdmowa dostępu do metody podczas wywoływania metody chronionej podklasą java
Czy ktoś może rzucić trochę światła na to?
Klasa bazowa:
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() {
}
}
Pochodna beton klasy:
class MyReceiver extends BaseReceiver {
@Override
protected void testMethod() {
// display error message
}
}
Czy działa z 'BaseReceiver.class.getDeclaredMethod'? – Thilo
http: // stackoverflow.com/questions/5184284/illegalaccessexception-on-using-reflection –
@KazekageGaara: to inne pytanie dotyczy metod niedostępnych w inny sposób. Tutaj próbuje przywołać własną metodę. – Thilo