这个是一个通过JAVA的发射机制实例化类,然后获取类中的方法再执行的。 这个是测试准备加载的class: package test; public class Hello{ public String speak(String s){ s="123"+s; return s; } } 只是加载class的办法: package test; public class LoadClass{ Class h; Hello hello; public LoadClass(){ try { h=Class.forName("test.Hello"); System.out.println("加载完成...."); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public Hello getObject(){ //Object o = new Object(); try { hello = (Hello)h.newInstance(); } catch (InstantiationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } return hello; } public static void main(String args[]){ LoadClass lc=new LoadClass(); lc.getObject().speak(); } } 动态加载方法的类: package test; import java.lang.reflect.Method; public class LoadMethod{ public static void main(String args[]) throws Exception{ Class h=Class.forName("test.Hello"); Object object = h.newInstance(); Method m[]=h.getDeclaredMethods(); for(int i=0;i<m.length;i++){ if(m[i].getName().equals("speak")){ //m[i].invoke(); System.out.println(m[i]); System.out.println(m[i].invoke(object,"ppp")); } } } } 代码比较简单,就不做注释了,我还有深入学学反射机制。