Tengo el siguiente problema: Tengo una clase, intento usar el reflejo para llamar a uno de sus PROPIOS métodos protegidos, y obtengo una excepción: java.lang.IllegalAccessException : método de acceso a negaracceso a método denegado al llamar al método protegido de la subclase java
puede alguien tal vez arrojar alguna luz sobre esto?
La clase base:
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() {
}
}
La clase concreta derivada:
class MyReceiver extends BaseReceiver {
@Override
protected void testMethod() {
// display error message
}
}
¿Funciona con 'BaseReceiver.class.getDeclaredMethod'? – Thilo
http: // stackoverflow.com/questions/5184284/illegalaccessexception-on-using-reflection –
@KazekageGaara: esa otra pregunta se trata de métodos a los que no se puede acceder de otra forma. Aquí, él trata de llamar a su propio método. – Thilo