Überschreibungsmethode in geerbter Schnittstelle mit Untertyp mit Generika

Ich habe die folgende Hierarchie in Java:

interface ObserverA {}

interface A {
  void method1();
  addObserver(Observer o);
}

Und ich möchte es so erweitern:

interface ObserverB extends ObserverA{}

interface B extends A {
   void method2();
   addObserver(ObserverB  o);
}

so, dass dieaddObserver() Methode vonB würde die gleiche Methode in überschreibenA. Wie es ist, funktioniert es nicht, Implementierungen vonB Müssten beide Versionen von implementierenaddObserver()Ich will nicht nur einen haben.

Kann dies auf clevere Weise geschehen, ohne parametrieren zu müssen?A mögen:

interface A<O extends Observer> { 
    addObserver(O o);
}

Hackish-Lösungen sind herzlich willkommen!

Antworten auf die Frage(3)

Ihre Antwort auf die Frage