Cita:
Iniciado por HackmanC Hola,
En su forma mas básica sería algo así:
Código:
import java.lang.reflect.*;
public class Proc {
public enum Procs { A, B }
private void invoke(Procs p) {
try {
Class c = Class.forName("Proc");
Object t = c.newInstance();
Method m = c.getDeclaredMethod(p.name());
m.setAccessible(true);
m.invoke(t);
} catch (Exception e) {
System.err.println(e);
}
}
private void A() {
System.out.println("Function A");
}
private void B() {
System.out.println("Function B");
}
public static void main(String[] args) {
Proc p = new Proc();
p.invoke(Procs.A);
}
}
http://java.sun.com/docs/books/tutor...ect/index.html http://java.sun.com/javase/6/docs/ap...e-summary.html
En mi opinión personal, Reflection se usa cuando no hay otra forma de conocer los métodos existentes de una clase, por ejemplo, cuando se crea un programa que se puede extender por medio de plug-ins (Java Beans), pero en la mayoría de los casos es preferible evitarlo y usar programación estándard.
Saludos,
Ohhh, se fajaron... Hack y GreenEyed. Naturalmente lo que buscaba basto con el termino reflect, ya que si conocerlo es difícil que Mr. google nos apunte ha informacion de interés y nos la podemos pasar horas intentando infructuosamente.
Y precisamente es para plug-ins y (Java beans), muchas veces cuando comienzas algo con poco conocimiento y te resultan ideas, que cuando descubres alguien mas a pensado exactamente lo
mismo, lo ha echo y se piensa... sera que tengo tan poca imaginación?.
Gracias...