Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

GustavoBertoli

Como instanciar um objeto através de variavel.

Recommended Posts

Boa Noite Pessoal,

 

Estou fazendo um projeto em Java e me deparei com a seguinte situação.

Eu tenho um variavel que eu recebo um valor do tipo String nela, e gostaria de instanciar uma classe de acordo com o valor informado na variavel.

 

Por exemplo:

 

No meu banco de dados eu tenho os valores: Poste, Logradouro, Estado.

 

Para cada nome deste eu tenho uma classe chamada Poste, Logradouro e Estado, gostaria de instanciar meu objeto de forma automática, vamos super que na primeira execução o usuário forneça a palavra Poste, meu programa vai lá e faz o seguinte:

 

X = "Poste";

 

X obj = new X();

 

Onde na verdade o programa faria a seguinte execução:

 

Poste obj = new Poste();

 

 

Isso é possivel ?

Preciso de uma ajuda de como fazer isto.

 

Desde já , muito obrigado.

Até mais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, é possível. Desde que você tenha o nome completo da classe (pacote.classe).

 

Exemplo:

try {
  String nome = "com.myapp.Poste";
  Class.forName(nome).newInstance();
} catch (Exception ex) {
  ex.printStackTrace();
}

 

O método newInstance funciona para instanciar objetos de classes que tenham construtor padrão (sem argumentos). Caso seu construtor tenha argumentos, você pode recuperar o construtor através do método getConstructor(parameters) de Class e depois instanciá-lo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.