DÚVIDA - Pegar conteúdo de um método da CLASSE

7 respostas
peerless

Bom dia galera,
estou com uma dúvida…
fiz uma classe de gets&sets, e estou utilizando ela, em uma classe para setar, (seta beleza os dados), ENTRETANTO, os GETS eu utilizo em OUTRA classe… e quando vou pegar os dados, retorna NULL …

na classe gets&sets, está…:

variaveis privadas…
metodos publicos…

pq eos dados não ficam gravado?

:frowning:

7 Respostas

peerless

Codes:

Classe do GET E SET:
public class Usuario {
    
    /** Creates a new instance of Usuario */
    
    private String nome;
    private String senha;
    private char nivelAcesso;
    
    public Usuario() {
        //constructor
    }
    
    public boolean setNome(String nome) {
      this.nome = nome;
      return true;
    }
    
    public String getNome() {
      return nome;
    }
    
    public boolean setSenha(String senha) {
      this.senha = senha;
      return true;
    }
    
    public String getSenha() {
      return senha;
    }
    
    public boolean setNivelAcesso(char nivelAcesso) {
      this.nivelAcesso = nivelAcesso;
      return true;
    }
    
    public char getNivelAcesso() {
      return nivelAcesso;
    }
}
Classe que faz o SET:
Usr.setNome(rs.getString("usuario"));
Usr.setNivelAcesso(rs.getString("nivel").charAt(0));
Usr.setSenha(rs.getString("senha"));
Classe que faz o GET: //aqui da o erro :S
public class Principal extends javax.swing.JFrame {
     private Usuario u;
    
    /** Creates new form Principal */
    public Principal() {
        initComponents();
        u = new Usuario();
        jLabel3.setText("Funcionário: "+u.getNome());
        setTitle(u.getNome());
    }
ViniGodoy

Na classe que faz o get, você está criando um novo objeto. E, como você mesmo especificou em sua classe, os novos objetos começam com null.

Para isso funcionar, você teria que usar a mesma referência, em ambos os casos.

peerless

O meu pensamento é o seguinte:

o set, não importando por quem seja feito…
grava na variavel publica

ou seja, se ja gravou,

depios quando for buscar, ele ja esteja com o valor gravado… TANTO QUE A ORDEM INICIAL SEJA:

set
get

então estaria eu errado? após o SET o que ocorre que a variavel está perdendo seu valor…

??

afdestro

cara… ela não ta perdendo o valor…
acontece que na hora que vc está imprimindo a o valor vc está criando um novo (NEW) objeto… e esse vem nulo…
se vc quer imprimir os valores que vc adicionou com os GET vc tem que usar a mesma referencia…

peerless

AHH

ou seja… então eu vou ter de deixar o USR da classe do SET PÚBLICO, instanciar a classe do set, na classe do get… e ai então usar?

ex:

classeSet.Usr.getNome() ? (fiz dessa forma, e agora meu formulario classe que faz o set, não abre mais o.O)

se não é isso, por favor, me deem um exemplo…

muito agradecido,
abraços!

peerless

up…

peerless

isso teria a ver, em fazer algum extends ?

Criado 19 de fevereiro de 2007
Ultima resposta 21 de fev. de 2007
Respostas 7
Participantes 3