getNome retornando null em pacote no tomcat!

3 respostas
H

Ola pessoal, tenho um .jar na minha aplicação no tomcat que quando tento criar um objeto de uma das classes do pacote me retorna null n getNome(). O .jar esta na lib da aplicação, este é o código da classe:

package xxx.yyy.classe;

public class Usuario{
  
  private String nome;
  private String senha;

  public Usuario(String n, String p){
      setNome(n);
      setSenha(p);
  }
  
  private void setNome(String nome){
          nome = this.nome;
  }

  public String getNome(){
           return nome;
  }

  private void setSenha(String senha){
          senha = this.senha;
  }
  
  public String getSenha(){
          return senha;
  }

}

e aqui é um código na jsp aonde tento criar o objeto Usuario:

if(conldap.autenticaLDAP(usu, pas)){
                            
                            out.println(usu);

                            Usuario usuario = new Usuario(usu, pas);
                            
                            out.println(usuario.getNome());

No último out.print() o resultado é sempre null. Alguma dica ???

3 Respostas

A

Ao invés de setar a funcão atribua o valor direto na variável privada. ou seja:

troque

setNome(n);

setSenha§;

por

nome = n;

senha = p;
P

Usar OO pra que , ne?

o setNome() esta errado.
O correto seria

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

qdo vc usa o this, vc esta usando a referencia do proprio objeto.
No seu setNome, vc esta atribuindo null (valor padrao de ums instancia da classe String)
para a referencia passada como paramentro.
O contrario é o correto…

espero ter ajudado…

e usar setter e getter é uma boa pratica, pois vc “pretege” seus atributos, encapsulamento !!!

…olhe o set da senha tbem !!!

H

hehehehhe, é verdade, coloquei ao contrário mesmo, obrigado, até mais.

Criado 17 de maio de 2006
Ultima resposta 17 de mai. de 2006
Respostas 3
Participantes 3