tenho essas duas classes a Conta e a (superclasse)e a ContaCorrente e a (subclasse) estou tentanto pegar o metodo atualiza mas naum estou conseguindo da um erro not a statement o que será que pode ser ?
class Conta {
protected double saldo;
public void setSaldo(double saldo){
this.saldo = saldo;
}
public void deposita(double valor){
this.saldo += valor;
}
public void saca(double valor){
this.saldo -= valor;
}
public double getSaldo(){
return this.saldo;
}
public atualiza(double taxa){
this.saldo += this.saldo * taxa;
}
}
class ContaCorrente extends Conta {
public void atualiza(double taxa){
// Da erro nessa linha
super.atualiza()*2;
}
public void deposita(double valor){
this.saldo += valor * 0.9962;
}
}
Me explica o que essa linha faz? Ela multiplica por 2 um retorno indefinido?
-Primeiro problema: a assinatura do método atualiza está incorreta, está faltando o tipo de retorno ( void, byte, int, ObjetoGrandeParaCaramba etc) ;
-Segundo problema: o que depois o seu método faz? Multiplica por 2 e… nada. Não joga o valor para lugar algum, não retorna e nem nada. Verifique isso.
super.atualiza(taxa); //chama o método atualiza da classe Conta passando a taxa recebida pelo método atualiza da classe ContaCorrente
this.saldo = this.saldo*2; //após saldo ter sido atualizado na classe Conta, o método atualiza de ContaCorrente processa a instrução seguinte, no caso, dobra o valor do saldo e o método é finalizado.
} [/code]
Atenção! O método atualiza da classe Conta está sem um tipo de retorno (void), pelo menos no código que vc colou aqui, isso também ocasionará erro.