Есть ли способ сказать «метод возвращает это» в Java?
Есть ли способ сказать "этот метод возвращаетthis
"используя Дженерикс?
Конечно, я хочу переопределить этот метод в подклассах, поэтому объявление должно хорошо работать с@Override
.
Вот пример:
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)
не работает вообще: я получаю "Несоответствие типов: не могу конвертировать из базы в T". Если я приведу его к исполнению, переопределение завершится неудачей.