Czy można powiedzieć, że „metoda zwraca to” w Javie?

Czy można powiedzieć „ta metoda powracathis„używając Generics?

Oczywiście chcę nadpisać tę metodę w podklasach, więc deklaracja powinna działać dobrze z@Override.

Oto przykład:

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) nie działa w ogóle: dostaję „Niezgodność typu: nie można przekonwertować z bazy na T”. Jeśli zmusię go do rzucania, przesłonięcie nie powiedzie się.

questionAnswers(3)

yourAnswerToTheQuestion