Boas,
Eu talvez esteja me perdendo um pouco no conceito da questão do exercício. Considerem isso aqui, que aparentemente o Eclipse não reclamou de erro:
abstract class Conta {
public void saca(double valor) {
if ((valor > 0) && (valor < this.getSaldo())) {
this.setSaldo(this.getSaldo() - valor);
}
this.atualiza(1);
}
abstract void atualiza(double taxa);
Eu fiz isso de propósito mesmo para forçar o erro (nesse caso, nenhum erro retornado ao salvar o arquivo) no exercício. O Eclipse, ao salvar a classe, permitiu que eu chamasse o método "atualiza" de dentro do método concreto "saca", inclusive passando um valor de parâmetro.
O que eu gostaria de saber é: Qual o motivo disso ser permitido? Pois para mim isso não soa certo uma vez que o método abstrato "atualiza" sequer possui implementação.
Não cheguei a executar o projeto e o "main" da classe de teste para saber o que ia acontecer no fim das contas, mas isso para mim no mínimo é curioso.
Obrigado pela ajuda ;) Michel