• Como Usar Reflection En Java – Parte 2

    Esta es la segunda entrega de Reflection. Hoy vamos a ver como llamar a metodos via esta tecnica. En la proxima entrega como leer variables privadas donde no hay acceso a un getter.


    Como llamar a un metodo por reflection

    Viendo el capitulo anterior vamos a instanciar una clase y llamar a un metodo publico via esta tecnica.

    La instanciacion

    String className = "com.my.Person";
    Person person = (Person)Class.forName(className).newInstance();
    

    El llamado al metodo doSomething sin parametros se hace mediante el codigo provisto debajo.

    Object params = null;
    Method method = person.getClass().getMethod("doSomething", null);
    SomeResult result = (SomeResult)method.invoke(person, params);
    

    Si el metodo retorna algun tipo en particular tal cual se ve en este ejemplo vamos a utilizar la tecnica de Casting para obtener el objeto deseado. Por lo contrario, si el return type es VOID, no hay que asignar ningun valor de retorno.

Leave a comment