今天看到的好文章和大家分享一下: http://www.internetism.org/qbbs/ShowAnnounce.asp?boardID=1&RootID=375&ID=375 http://www.internetism.org/qbbs/ShowAnnounce.asp?boardID=1&RootID=375&ID=376 下面是我修改了一下的代码: package testclass; public class class1 {  public class1(){}   public int add(int a,int b){   return a+b;  }} package dyn_callmethod; import java.lang.reflect.*; import testclass.class1;   public class callclass {    public callclass() {  }   public static void main(String args[]){    try{      Class cls = Class.forName("testclass.class1");      System.out.println("Load the target class");      Class partypes[] = new Class[2];       partypes[0] = Integer.TYPE;       partypes[1] = Integer.TYPE;       Method meth = cls.getMethod("add", partypes);      System.out.println("get the method of the class");      //testclass.class1 methobj = new testclass.class1();       /////////////////////////////////////////////////////              //Class const = Class.forName("testclass.class1");       Class par[] = null;       Constructor ct = cls.getConstructor(par);//因为class1的构造函数是无参的所以我就给getConstructor 输入了一个为null的Class数组做参数              /////////////////////////////////////////////////////       Object arglist[] = new Object[2];       arglist[0] = new Integer(37);       arglist[1] = new Integer(47);       //Object retobj = meth.invoke(methobj, arglist);       Object retobj = meth.invoke(ct.newInstance(null), arglist);       Integer retval = (Integer)retobj;       System.out.println(retval.intValue());     }     catch(Exception e){      System.err.println(e);     }   } } 请大家多多指教!  
 
  |