標籤:argument order tac eth ati string 動態 space out
首先Method類代表一個方法,所以invoke(調用)就是調用Method類代表的方法。它可以讓你實現動態調用,例如你可以動態傳人蔘數。下面是一個簡單的例子。
| 123456789101112131415161718192021222324252627282930313233343536 |
public class MethodTest{ 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 (NoSuchMethodException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } catch (InstantiationException e) { e.printStackTrace(); } }}class Test{ public void sayHi(String name) { System.out.println("Hi "+name); }} |
java反射中method類中的invoke方法作用