package reflectionExercise; import java.lang.reflect.Method; public class getMethod { public static void main(String[] args) { A a1=new A(); Class c=a1.getClass(); Method m; try { m = c.getMethod("print", new Class[]{int.class,int.class}); //or write in this form: //Method m=c.getMethod("print", int.class,int.class); //第一个参数写方法名,之后写参数列表 m.invoke(a1, 10,20); //or write in this form: //m.invoke(a1, new Object[]{10,20}); //和a1.print(10,20)的效果是一样的 } catch (Exception e) { e.printStackTrace(); } } } class A{ public void print(int a,int b){ System.out.println(a+b); } public void print(String a,String b){ System.out.println(a.toLowerCase()+b.toUpperCase()); } public void print(){ System.out.println("empty"); } }