Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. import java.lang.reflect.*;
  2.  
  3. public class method2 {
  4.     public int add(int a, int b) {
  5.         return a + b;
  6.     }
  7.  
  8.     public static void main(String args[]) {
  9.         try {
  10.             Class cls = Class.forName("method2");// 使用method2此類別.
  11.             Class partypes[] = new Class[2];
  12.             partypes[0] = Integer.TYPE;
  13.             partypes[1] = Integer.TYPE;
  14.             Method meth = cls.getMethod("add", partypes);// 設定使用method2的add方法,並且設定兩個參數型態皆為integer.
  15.             method2 methobj = new method2();// 產生另一個method2類別的物件 methobj,
  16.             Object arglist[] = new Object[2];
  17.             arglist[0] = new Integer(37);
  18.             arglist[1] = new Integer(47);
  19.             Object retobj = meth.invoke(methobj, arglist);
  20.             Integer retval = (Integer) retobj;
  21.             System.out.println(retval.intValue());
  22.         } catch (Throwable e) {
  23.             System.err.println(e);
  24.         }
  25.     }
  26. }