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ę.