Nadpisywanie i zgodność typu zwracanego
Następujące kompilują się bez problemu
boolean flag = true;
Boolean flagObj = flag;
Teraz obrazujemy następujący scenariusz
interface ITest{
Boolean getStatus();
}
class TestImpl implements ITest{
public boolean getStatus(){ // Compile error: return type is incompatible
return true;
}
}
Moje pytanie dotyczy błędu kompilacji we wspomnianej linii. Mój interfejs wspomina o typie powrotu jakoBoolean
ale zaimplementowana metoda powracaboolean
(dosłowny)
Moje pytanie brzmi, jeśliBoolean
iboolean
są kompatybilne, dlaczego kompilator narzeka? Czy autoboxing nie ma tu zastosowania?