1. 程式人生 > >java反射中method類中的invoke方法作用

java反射中method類中的invoke方法作用

argument 方法 names 反射 java invoke 作用 odex table

 首先Method類代表一個方法,所以invoke(調用)就是調用Method類代表的方法。它可以讓你實現動態調用,例如你可以動態的傳人參數。下面是一個簡單的例子。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 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方法作用