Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Invocando o Método Reescrito

Nó exercício 3 é solicitado que se faça a reescrita do método deposita com uma valor de 0.10 .

@Override
     public void deposita(double valor)
   {
        this.saldo += valor - 0.10;
   }

Gostaria de saber por que não consigo realizar a reescrita chamando o método da superclasse como no exemplo:

public double getBonificacao() 
{ 
return super.getBonificacao() + 1000; 
}

Utilizando o código abaixo tenho o erro : not a statement, este tipo de aplicação .super só funciona em métodos com retorno ?

@Override
     public void deposita(double valor)
   {
        super.deposita() - 0.10;
   }
5 respostas
solução!

se você esta usando o mesmo método "deposita", para chama-lo dentro do do método sobre escrito, você tem que usar como se chamasse o método normalmente, ou seja, para usar esse código você tem que fazer.

@Override
     public void deposita(double valor)
   {
        super.deposita(valor + 0.10);
   }

Olá, Carlos

Tenta chamar o super com o parâmetro valor do método

super.deposita(valor) + 0.10;

Funcionou chamando o 0.10 dentro do método fora continua com o erro.

@Override
     public void deposita(double valor)
   {
        super.deposita(valor - 0.10);
   }

Neste caso ficou uma dúvida se o método recebe apenas um parâmetro como ele deixa eu utilizar o -0.10 ?

Carlos, quando você passa no parâmetro (valor -0.10) ele vai considerar que você esta subtraído o valor, sendo assim, seria o valor -0.10 o resultado passa como parâmetro.

Entendi seria considerado dois parâmetros se houve uma , no caso apenas então.

Obrigado a todos pelas contribuições, ajudou bastante nos estudos aqui!