Existe uma maneira de dizer "método retorna isso" em Java?
Existe uma maneira de dizer "este método retornathis
"usando genéricos?
Claro, eu quero substituir esse método em subclasses, então a declaração deve funcionar bem com@Override
.
Aqui está um exemplo:
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)
não funciona de todo: eu recebo "Tipo incompatível: Não é possível converter de Base para T". Se eu forçar com um lançamento, o override falhará.