Gibt es eine Möglichkeit, in Java zu sagen, dass "method returns this" (Methode gibt dies zurück)?

Gibt es eine Möglichkeit zu sagen "Diese Methode gibt zurückthis"mit Generika?

Natürlich möchte ich diese Methode in Unterklassen überschreiben, damit die Deklaration gut funktioniert@Override.

Hier ist ein Beispiel:

class Base {
    public Base copyTo (Base dest) {
        ... copy all fields to dest ...
        return this;
    }
}
class X extends Base {
    @Override
    public X copyTo (X dest) {
        super.copyTo (dest);
        ... copy all fields to dest ...
        return this;
    }
}

public <T extends Base> T copyTo (Base dest) funktioniert überhaupt nicht: Ich erhalte die Meldung "Typenkonflikt: Konvertieren von Base nach T nicht möglich". Wenn ich es mit einem Cast erzwinge, schlägt der Override fehl.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage