Tenho um metodo que recebe um Object e dentro desse metodo queria instanciar o objeto que veio como parametro. Só que eu não sei que objeto eu passei como parametro. ou seja não posso fazer instanceof.
Tem alguma maneira de instanciar e usar os metodos do objeto passado como parametro?
De uma olhada em Reflection.
Você pega o Class no método getClass() de seu objeto.
[]'s
kuchma
Se o objeto voce passou como parametro, ele ja esta instanciado, como instancia-lo novamente?
Acho que voce vai passar um Class e quer uma instancia (ou seja, um objeto) da classe correspondente ou voce vai passar um Object e quer um outro Object da mesma classe do primeiro. O que voce quer fazer?
Para obter o Class de um objeto qualquer voce faz:
Classclazz=object.getClass();
Para obter uma instancia a partir de uma dada classe voce faz:
Class clazz = Class.forName("className"); // pule isto se voce ja tiver o Class pronto pra ser utilizado
Object object = clazz.newInstance();
Nesse caso a classe tem que ter um construtor sem argumentos.
Marcio Kuchma
T
trash
isso funcionou valeu.
agora quero chamar um metodo que esta dentro de um objeto de um outro objeto que está em minha classe.
Ex:
publicclassEmpresa{privateFuncionariofunc;// get e set de func}
publicclassFuncionario{privateStringnome;// get e set de nome}
queria passar como parametro empresa e acessar o metodo nome de funcionario dinamicamente usando reflection
tem como?
valeu
kuchma
trash:
queria passar como parametro empresa e acessar o metodo nome de funcionario dinamicamente usando reflection
tem como?
Sim, tem como sim. Da uma olhada nessas classes da API de Reflection: