[RESOLVIDO] Dúvida get set

6 respostas
Onimatsu
Boa tarde. Não consigo identificar o erro no debug ele parece enviar os valores mas quando vou imprimir ele volta nulo. O que ficou faltando no código?
public class p {
    public static void main(String []args){
        s pessoa = new s();
        pessoa.setNome("teste1");
        pessoa.setIdade("12");
        System.out.println(pessoa.getNome());
        System.out.println(pessoa.getIdade());
    }
}
public class s {

    private String nome, idade;

    public s() {
    }

    public void setNome(String nome) {
        nome = this.nome;
    }

    public String getNome() {
        return this.nome;
    }

    public void setIdade(String idade) {
        nome = this.idade;
    }

    public String getIdade() {
        return this.idade;
    }
}

6 Respostas

ErickRAR

Seu set está ao contrário. O correto é

public void setNome(String nome) {  
        this.nome = nome;  
    }

O this significa que você está referindo-se ao da classe.

Onimatsu

Opá deu certo obrigado. Nunca mais eu erro isso. :mrgreen:

Frantic_Avenger

Outro erro que vi foi que apesar de ter deixado a idade como String, ela tá sobrescrevendo o nome:

Onimatsu:
public void setIdade(String idade) { nome = this.idade; }

jeffev

Claro, acredito que a forma mais rápida de aprender é com os erros.

surfzera

Nome de classe utilize sempre como padrão Maiusculo.

Pessoa pessoa = new Pessoa();

public classe Pessoa(){}

C

No Netbeans eu não sei, mas se você estiver usando eclipse…
quando declarar o atributo, por exemplo:

private String nome;

você seleciona todo o atributo, clique com o botão direito em cima, selecione “Source”, Generate Getters and Setters.
ele fará o serviço de escrever os gets/sets corretamente para você, poupando um pouco de tempo :stuck_out_tongue:

Abraço!

Criado 11 de setembro de 2012
Ultima resposta 12 de set. de 2012
Respostas 6
Participantes 6