Mega Code Archive

 
Categories / Java / Reflection
 

The next example calls a class method with 2 arguments

import java.lang.reflect.Method; public class Main{   static void invoke(String aClass, String aMethod, Class[] params, Object[] args) {     try {       Class c = Class.forName(aClass);       Method m = c.getDeclaredMethod(aMethod, params);       Object i = c.newInstance();       Object r = m.invoke(i, args);     } catch (Exception e) {       e.printStackTrace();     }   }   public static void main(String[] args) {     invoke("Class1", "say", new Class[] { String.class, String.class }, new Object[] {         new String("Hello"), new String("World") });   } } class Class1 {   public void say(String s1, String s2) {     System.out.println(s1 + " " + s2);   } }