Classes

Pessoal,

Como foço para usar uma variável de uma classe, com o mesmo valor so que, em outra classe.

Att

Bruno

UHuhuh, bota como parâmetro no método que você deseja =)

Ou então, se for o caso, declara a variável como global na classe que você quer e a acesse através de um objeto =P

Desculpe a ignorancia, mas é que sou iniciante e não entendi muito bem o vc quiz dizer.
Vou tentar detalhar mais meu problema:
Tenho uma classe “Login.class” que uso para fazer conexão com um banco, esta classe tem uma variável “user” que recebe o nome do usuário através de text. Gostaria de usar essa mesma variável, com o mesmo valor que recebeu ao fazer o login em outras classes que não fossem a “Login.class”.

Obrigado pela atenção,

Bruno.

Basta que voce tenha uma instancia da classe “Login” criada, e entao eh soh pegar o valor do membro “nome”. Eh algo como:

class Login {
    private String nomeUsuario;

    // Declare aqui outras vars, se precisar

    // metodos para autenticar o usuario etc etc..

    public void setNomeUsuario(String nomeUsuario) {
        this.nomeUsuario = nomeUsuario;
    }

    public String getNomeUsuario() {
        return this.nomeUsuario;
    }
}

Ou seja, uma implementacao normal da classe. Uma forma de uso seria algo como

...
Login login = new Login();
login.setNomeUsuario("usuario x");
login.setSenha("senha x");

// Autentica o usuario
if (login.isLoginValido()) {
    ...
}
...

Como voce ja tem uma instancia da classe Login criada, basta usar ela nos lugares que precisar. Um detalhe que tem que cuidar eh que, se voce criar em lugares “longes” um dos outros, vai precisar ficar passando a referencia da classe por tudo quando eh lugar. Se voce estiver fazendo aplicacao Web, uma saida eh guardar o nome de usuario na Session do cara…

Rafael

Sua aplicação é desktop ou web??

Saída pela esquerda: :arrow:

Por que nao declarar o usuario como static ???

class Login(){ private static String lastUser = ""; public void Login(String user, String pass){ lastUser = user; // Login no DB } public String getLastUser(){ return lastUser; } }

Ridiculo mas funciona…

Se for um unico usuario o static ate da conta. Se nao for, o furo eh mais embaixo.

Bom, daria pra aproveitar a onda de usar ThreadLocal :stuck_out_tongue:

Rafael

Ateh que eh uma ideia boa, mas ThreadLocals sao infernais de testar (alias, qqer coisa multi-thread eh dificil de testar, senao mtas vezes impossivel). Soh tome cuidado com isso, e o resto eh tranquilo :wink: