Instanciar uma classe pelo nome

7 respostas
vinians

É possivel obter uma instancia de uma classe usando um nome armazenado num string?
Eu preciso muito disso!
Valeu!

7 Respostas

Marky.Vasconcelos

É possivel sim, via Reflection, mas nesse caso, chamar métodos também vai ser via Reflection, a não ser que voce saiba que tal classe implementa uma interface, nesse caso da para fazer um cast.

FernandoFranzini

Mas não existe reflection no JME, somente no android…

Marky.Vasconcelos

Ah é, isso é Android? JME ou Java SE?

j0nny

Se for JME, vc pode fazer:

Class.forName("nomeDaClasse).newInstance();

vinians

j0nny:
Se for JME, vc pode fazer:

Class.forName("nomeDaClasse).newInstance();


É issmo mesmo, amigo. Deu certo aqui. Agora so mais uma coisa, tem como chamar um método dessa maneira?

j0nny

vinians:
j0nny:
Se for JME, vc pode fazer:

Class.forName("nomeDaClasse).newInstance();


É issmo mesmo, amigo. Deu certo aqui. Agora so mais uma coisa, tem como chamar um método dessa maneira?

Ah não, isso de instanciar a classe é a única coisa de reflection que ele faz.

Marky.Vasconcelos

[quote=j0nny]

vinians:

Ah não, isso de instanciar a classe é a única coisa de reflection que ele faz.

O Class do JME não tem os métodos para explorar o objeto?

Criado 3 de junho de 2011
Ultima resposta 3 de jun. de 2011
Respostas 7
Participantes 4