Pessoal, para quem está estudando pelo Livro da Kathy Sieera (Edição em Português - SCJP 310-055) há um equívoco na página 73 - Retornos Covariantes
O equívoco é o seguinte:
public class Foo {
void go(){
}
}
public class Bar extends Foo{
String go(){ //ERRO
}
}
- Na verdade isto é uma sobrescrição inválida e não um retorno covariante
o exemplo correto (versão original do livro) seria
class Alfa {
Alfa doStuff(){
return new Alfa();
}
class Beta extends Alfa {
Beta doStuff(){
return new Beta();
}
}
Retorno covariante válido
[]´s