public class TestReflect { public static void main(String[] args) { String [] names ={"tom","tim","allen","alice"}; Class<?> clazz = Test.class; try { Method method = clazz.getMethod("sayHi", String.class); for(String name:names) method.invoke(clazz.newInstance(),name); }catch (Exception e){ e.printStackTrace(); } } } class Test { public void sayHi(String name) { System.out.println("Hi "+name); } }
输出结果
Hi tom
Hi tim
Hi allen
Hi alice
Method method = clazz.getMethod(" 方法名字","方法的参数类型');
method.invoke(" 要调用的方法的名字所隶属的对象实体",方法的参数值);
这就是method的invoke的作用