Instanciar classes dinâmicamente

10 respostas
balancin

Boa noite Pessoal,

Alguém sabe como posso fazer para instanciar classes dinâmicamente? Ou seja, imagine que tenho as classes carro, moto e bicicleta, quero instancia-las por uma váriavel que virá com o nome dela, na prática algo como
new Variavel();

Como posso fazer isso no java?

Obrigado!

10 Respostas

kaique

Dê uma pesquisada sobre Java Reflection API…
Para dar mais uma ajudinha, aqui no GUJ tem um tutorial dando uma explicação inicial sobre Reflection…
http://www.guj.com.br/java.tutorial.artigo.10.1.guj

[]'s.

maquiavelbona

Muito medo disso. Isso me lembra de códigos em PHP que eu pego de vez em quando para mexer.

$variavel = "carro";
$outraVariavel = "andar";
$$variavel = new $variavel();
$$variavel->$outraVariavel();

Até!

cv1

maquiavelbona:
Muito medo disso. Isso me lembra de códigos em PHP que eu pego de vez em quando para mecher.

$variavel = "carro";
$outraVariavel="andar";
$$variavel = new $variavel();
$$variavel->$outraVariavel();

Até!

Qual o problema? :slight_smile:

kaique

Eu acho Reflection um recurso sensacional…
E para desenvolver frameworks então…é uma mão na roda…

[]'s.

maquiavelbona

cv:

Qual o problema?

Que tem gente que se emploga. Nunca tive a infelicidade de pegar um assim, mas não faz muito tempo, fuçando na internet, vi alguns códigos bizarros com 4 ‘$’ juntos. Nem sei se funciona, achei que não há tanta necessidade assim para um absurdo.

Até!

R

Uma boa razão para não usar o esquema do PHP com $variavel é a manutenção do código.

Pra saber o que um código faria se usasse isso, seria necessário debugar!

lucazbrandt

Bom dia

Cara vc pode utilizar o seguinte comando:

Class.forName(“NOmeDaClasse”).newInstance();

:idea: espero ter ajudado!!!

Vlw

balancin

No meu caso é framework mesmo.
Se o programador for lógico não tem problema nenhum ;p

maquiavelbona

Uso para reflection tem e eu acho muito importante que tenha. O único problema é que você apresente essa ferramenta a uma pessoa e essa mesma pessoa ache que ela serve para tudo e para todos.
“If the only tool you have is a hammer, you tend to see every problem as a nail” - Abraham Maslow.

Isso é perigoso demais.

Até!

cv1

maquiavelbona:
cv:

Qual o problema?

Que tem gente que se emploga. Nunca tive a infelicidade de pegar um assim, mas não faz muito tempo, fuçando na internet, vi alguns códigos bizarros com 4 ‘$’ juntos. Nem sei se funciona, achei que não há tanta necessidade assim para um absurdo.

Até!

Sei la, indirecao e coisas desse genero sao bem uteis. Vai de quem usa, nao eh necessariamente um defeito da linguagem (muito pelo contrario - eu me recusaria a aprender ou usar qualquer linguagem inventada nesse seculo que nao tenha algo parecido com Object#send() :slight_smile: )

Criado 11 de outubro de 2007
Ultima resposta 21 de out. de 2007
Respostas 10
Participantes 6