Quote Originariamente inviata da andbin Visualizza il messaggio
Certo, le interfacce servono tipicamente per definire un "contratto". E quello che hai citato è un esempio che si può realizzare con una interfaccia per definire in modo più astratto un meccanismo di "callback".

Tecnicamente l'esempio è:

codice:
public interface Callback {
    void notifica();
}

public class ClassA implements Callback {
    public void unMetodo() {
        ClassB b = new ClassB();

        b.lavoro(this);
    }

    public void notifica() {
        // ....
    }
}

public class ClassB {
    public void lavoro(Callback c) {
        // .....
        c.notifica();
    }
}
La classe ClassB non "sa" nulla di ClassA, sa solo di una interfaccia Callback. E siccome ClassA è-un Callback, la invocazione di lavoro passando this è corretta.
grazie.