Dúvida pág. 54 Caelum

Comecei a estudar Java pela apostila da Caelum, muito boa por sinal.

Estou travado em uma parte na página 54 da apostila.

Tenho um programa chamado Conta que consegui mesclar várias funções onde consigo usar vários programas criados pela apostila:

[code]class Conta {
int numero;
String dono;
double saldo;
double limite;

void saca(double quantidade) {
double novoSaldo = this.saldo - quantidade;
this.saldo = novoSaldo;

}

void deposita(double quantidade) {
this.saldo += quantidade;

}

boolean sacar(double valor) {
if (this.saldo < valor) {
return false;
}
else {
this.saldo = this.saldo - valor;
return true;
}
}

void transfere(Conta destino, double valor) {
this.saldo = this.saldo - valor;
destino.saldo = destino.saldo + valor;

}}[/code]

OBS: Não pude usar boolean saca pois já estava sendo usado em outro método, normal isso tenho que trocar o nome mesmo?

Programa Transferencia:

[code]class Transferencia {

public static void main(String[] args) {

Conta joao;
joao = new Conta();
joao.dono = “Fabio”;
joao.saldo = 2000;

Conta rico;
rico = new Conta();
rico.dono = “Sr. Rico”;
rico.saldo = 1000000;

rico.transfere(joao, 5000);

System.out.println(“Novo saldo de “+joao.dono+” e de: R$”+joao.saldo);
System.out.println(“Novo saldo de “+rico.dono+” e de: R$”+rico.saldo);

}
}[/code]

Vejam que o programa Transferencia faz o Sr. Rico transferir um valor para Joao e no final o novo valor é impresso a tela.

Na página 54 da apostila diz:

Para deixar o código mais robusto, poderíamos veri?car se a conta possui a quantidade a ser transferida
disponível. Para ?car ainda mais interessante, você pode chamar os métodos deposita e saca já existentes
para fazer essa tarefa:

class Conta { // atributos e métodos... boolean transfere(Conta destino, double valor) { boolean retirou = this.saca(valor); if (retirou == false) { // não deu pra sacar! return false; } else { destino.deposita(valor); return true; } } }

Não consegui inserir essa função no meu programa Conta, por dar VÁRIOS erros de compilação.
Como posso fazer isso funcionar?

Devia ter trocado o método para boolean, simples assim.

Olha o diagrama da classe na página 45(pg 54 do PDF).