Além da resolução do transfere reutilizando o método "saca", achei mais intuitivo deixar as mensagens de confirmação e erro direto nos métodos, seria errado?
public void deposita(double valor) {
this.saldo += valor;
System.out.println("Depósito realizado com sucesso.");
}
public boolean saca(double valor) {
if(this.saldo >= valor) {
this.saldo -= valor;
System.out.println("Saque realizado com sucesso.");
return true;
}
System.out.println("Saldo insuficiente.");
return false;
}
public boolean transfere(double valor, Conta destino) {
if(saca(valor)) {
destino.deposita(valor);
System.out.println("Trasnferência efetuada com sucesso.");
return true;
}
System.out.println("Saldo insuficiente.");
return false;