Instanciar classes dinâmicamente

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!

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.

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é!

[quote=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é![/quote]

Qual o problema? :slight_smile:

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

[]'s.

[quote=cv]…
Qual o problema?[/quote]
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é!

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!

Bom dia

Cara vc pode utilizar o seguinte comando:

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

:idea: espero ter ajudado!!!

Vlw

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

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é!

[quote=maquiavelbona][quote=cv]…
Qual o problema?[/quote]
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é![/quote]

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: )