Boa noite.
Quando compilo código, no terminal aparece um erro como abaixo:
TestaContas.java:42: error: cannot find symbol c.atualiza(0.01); ^ symbol: method atualiza(double) location: variable c of type Conta 1 error
O código está igual a resposta do professor para este exercício, só que o meu não compila. Não consigo achar a solução. Gostaria que vocês me ajudassem e me explicassem o porquê do erro. Desde já agradeço. Outra dúvida porquê quando eu coloco public em todas as classes o compilador dá erro, e quando eu deixo apenas o main como public, some os erros, não pode colocar public em todas as classes?
class Conta{
protected double saldo;
public double getSaldo(){
return this.saldo;
}
public void deposita(double valor){
this.saldo+=valor;
}
public void saca(double valor){
this.saldo-=valor;
}
}
class ContaCorrente extends Conta{
public void atualiza(double taxa){
this.saldo+=this.saldo*taxa*2;
}
}
class ContaPoupanca extends Conta{
public void deposita(double valor){
this.saldo+=valor-0.10;
}
public void atualiza(double taxa){
this.saldo+=this.saldo*taxa*3;
}
}
public class TestaContas{
public static void main(String [] args){
Conta c = new Conta();
ContaCorrente cc= new ContaCorrente();
ContaPoupanca cp= new ContaPoupanca();
c.deposita(1000);
cc.deposita(1000);
cp.deposita(1000);
c.atualiza(0.01);
cc.atualiza(0.01);
cp.atualiza(0.01);
System.out.println(c.getSaldo());
System.out.println(cc.getSaldo());
System.out.println(cp.getSaldo());
}
}