Estava com a mesma dúvida, porém a dica do Gustavo esclareceu tudo, o que fiz foi:
No mesmo Conta.java que estava utilizando no exercício, criei uma nova classe "AtualizadorDeConta":
class AtualizadorDeContas {
private double saldoTotal = 0;
private double selic;
public AtualizadorDeContas(double selic) {
this.selic = selic;
}
public void roda(Conta c) {
System.out.println("O saldo anterior desta conta é: " + c.saldo);
c.atualiza(selic);
System.out.println("O saldo atual desta conta é: " + c.saldo);
System.out.println("===========================================");
saldoTotal += c.saldo;
}
public double getSaldoTotal() {
return saldoTotal;
}
}
Como eu já estava utilizando um "main" ("TestaConta") criado para os exercícios anteriores, então comentei este main e criei um novo main para testar a classe "AtualizadorDeContas":
/*class TestaConta {
public static void main(String[] args) {
Conta c = new Conta();
Conta cc = new ContaCorrente();
Conta cp = new ContaPoupanca();
c.deposita(1000.0);
cc.deposita(1000.0);
cp.deposita(1000.0);
c.atualiza(0.01);
cc.atualiza(0.01);
cp.atualiza(0.01);
System.out.println("O saldo da conta é: " + c.getSaldo());
System.out.println("O saldo da conta corrente é: " + cc.getSaldo());
System.out.println("O saldo da conta poupança é: " + cp.getSaldo());
}
}*/
class TestaAtualizador {
public static void main(String[] args) {
Conta c = new Conta();
Conta cc = new ContaCorrente();
Conta cp = new ContaPoupanca();
c.deposita(1000.0);
cc.deposita(1000.0);
cp.deposita(1000.0);
AtualizadorDeContas atualizador = new AtualizadorDeContas(0.01);
atualizador.roda(c);
atualizador.roda(cc);
atualizador.roda(cp);
System.out.println("Saldo total das contas é: " + atualizador.getSaldoTotal());
}
}
Utilizei os três tipos de contas criadas nos exercícios anteriores para fazer os testes. Então foi só compilar a mesma classe Conta.java do início do exercício e rodar o "TestaAtualizador", que tudo funcionou:
O saldo anterior desta conta é: 1000.0
O saldo atual desta conta é: 1010.0
O saldo anterior desta conta é: 1000.0
O saldo atual desta conta é: 1020.0
O saldo anterior desta conta é: 999.9
O saldo atual desta conta é: 1029.897
Saldo total das contas é: 3059.897
Espero ter ajudado!.