Criar objeto Class

5 respostas
D

Pessoal, gostaria de saber se tem como instanciar um objeto Class a partir de um arquivo .java?

Eu preciso listar os atributos e os métodos uma classe, mas eu posso usar somente o arquivo .java.

5 Respostas

dtxk

dsjbv:
Pessoal, gostaria de saber se tem como instanciar um objeto Class a partir de um arquivo .java?

Eu preciso listar os atributos e os métodos uma classe, mas eu posso usar somente o arquivo .java.

Cara isso que voce esta querendo fazer não é Reflection? http://www.guj.com.br/articles/10

abraços

D

dtxk,

é mais ou menos. O problema é que para usar Reflaction eu teria que ter a classe no sistema. E eu não tenho a classe, tenho só o arquivo .java (ou seja, não está compilado).

drsmachado

Por que não faz a leitura do arquivo java e lista as informações?

D

drsmachado,

é exatamente isso que eu não queria fazer, porque dessa forma eu vou ter que desenvolver um analisador léxico para pegar os atributos, métodos, modificadores de acesso, ignorar comentários, etc …

drsmachado

Mas esse verificador léxico não é mais simples que usar uma adaptação do reflection?

De qualquer forma, Class pode ser instanciada com o Class.forName(…) , método sobrecarregado, que em ambos os casos recebe uma String com o nome da Classe que deve ser “refletida”. Caso a mesma não esteja “disponível” uma ClassNotFoundException será lançada (no segundo, ainda há que se passar um boolean e outro que não lembro).

Se existe alguma maneira, é gambiarra…

Criado 21 de setembro de 2011
Ultima resposta 21 de set. de 2011
Respostas 5
Participantes 3