Ich habe eine Abstrakte Klasse, die einen Listener implementiert und im Konstruktor sich selbst als Listener bei einem Objekt anmeldet.
Wenn ich jetzt eine andere Klasse davon ableite und die Methode des Listener-Interfaces hier überschreibe, hätte ich eigentlich gedacht, dass diese auch aufgerufen wird. Stattdessen wird die Methode der abstrakten Klasse aufgerufen..
Ist das so richtig? Wenn ja - kann ich das irgendwie umgehen?
Hier Beispielcode:
Wenn ich jetzt eine andere Klasse davon ableite und die Methode des Listener-Interfaces hier überschreibe, hätte ich eigentlich gedacht, dass diese auch aufgerufen wird. Stattdessen wird die Methode der abstrakten Klasse aufgerufen..
Ist das so richtig? Wenn ja - kann ich das irgendwie umgehen?
Hier Beispielcode:
Java:
public abstract class Abstractclass implements MessageListener {
public Abstractclass(SomeObject o) {
o.addMessageListener(this);
}
public void MessageReceived() {
//Hier was tun
System.out.println("a");
}
}
public class Impl extends Abstractclass {
@Override
public void MessageReceived() {
System.out.println("b");
}
}