Help em Reflection

1 resposta
A

Pessoal,

seguinte:

eu tenho um Classe, q representa uma entidade do bd, que se chama “Chamado”. Tenho uma variável desta classe (populada)

Chamado c = new Chamado();

e eu tenho um objeto Class

Class cls = Class.forName( chamado );

eu tenho tbm, uma String com o nome de um método da classe “Chamado”

String metodo = "getNome";

Agora, eu quero jogar dentro de uma variavel String, o resultado do processamento do metodo, no qual o nome dele está na variavel metodo.

Algo do tipo

String nome = chamado.executeMetodo(metodo);

alguma ideia?

valew[/code]

1 Resposta

A

1 - A classe model contém os metodos de acesso para o atributo nome. Ou seja, getNome() e setNome(String).

2 - Obtendo o método getNome do Model.
Passamos um array de classes vazio ou nulo, pois não existe parametros nesse método.

3 - Agora, invocamos o metodo passando o objeto que será acessado. Passamos tb um array de objeto vazio ou nulo, pois não existe parametros nesse método.

4 - Obtemos o resultado do método getNome. Caso o o método fosse void o resultado seria null

// 1
    Model model = new Model();
    model.setNome("Alcides Flach");

    // 2     
    Method metodo = Model.class.getMethod("getNome", new Class[]{});

    //3
    Object objeto = metodo.invoke( model, new Object[]{} );
		
    // 4
    System.out.println( objeto );
Criado 14 de julho de 2004
Ultima resposta 15 de jul. de 2004
Respostas 1
Participantes 2