Dúvida no código - toString()

Pessoal esse código esta correto? estou com dúvida no toString, pois deve-se usar “+nome+” ou seria “+getNome+” ?

Eu preciso fazer essa parte “public String getNome(){” ?

[code]public class Cliente extends PessoaFisica{
private boolean fumante;

/** Creates a new instance of Cliente */
public Cliente() {
}
public Cliente(String nome, String telefone){
    this.nome = nome;
    this.telefone = telefone;
}
public String getNome(){
    return this.nome;
}
public String getTelefone(){
    return this.telefone;
}

public String toString(){
    return "Nome: " + nome + "Telefone: " + telefone + "Fumante: " + fumante;        
}

public boolean equals(Object obj) {
    Cliente cb = (Cliente)obj;
    if (this.nome == cb.nome){
        return true;
    }
    return false;
}

}[/code]

Obrigado

Voce pode usar dos dois modos.

O to string é util para voce fazer isso:

Cliente cliente = new Cliente();
//Seto os atributos do cliente
System.out.println(cliente);

Ao fazer isso o método toString do objeto será chamado, caso não seja implementado vai aparecer algo como cliente@156af

Não faltam as variáveis de instância, nome e telefone?

Não precisa, usei:

public class Cliente extends PessoaFisica{
:smiley:
Ele “Busca” da classe PessoaFisica

Valeu

Opss… não prendi minha atenção na herança.

Você está reescrevendo o método toString(), original da Object, ou seja, você pode usar direto o atributo ou o método Getter, isto depende das suas implementações. Se no método Getter fazer algum controle de null, nomes, etc… isto será aplicado para o override tb! :wink: