Oi Maria!
O @Override
na subclasse (ContaCorrente
) é usado para indicar que estamos reescrevendo (sobrescrita) o método saca()
definido inicialmente na superclasse (Conta
).
O simples fato de ter na subclasse um método igual ao da superclasse é suficiente para que haja uma sobrescrita. Mas com o @Override
ganhamos algumas checagens do compilador. Por exemplo, imagina o caso que você sem querer acaba escrevendo o nome do método errado:
public class ContaConrrente extends Conta {
public void sac(double valor) { // metodo com nome errado
// codigo aqui
}
}
isso pode passar despercebido, mas se deixarmos a sobrescrita explícita com o @Override
o compilador lançará um erro informando que não existe tal método na superclasse:
public class ContaConrrente extends Conta {
@Override
public void sac(double valor) { // erro de compilação
// codigo aqui
}
}
abraço