public class Test{ public static void Temp(String ClassName,String MethodName,String args){ .................................................}public static void main(String args[]){    Temp("Hello","Demo","nihao");}}class Hello{    public void Demo(String args)   {        System.out.println("Hello"+args); }}写一个方法:public void Temp(String ClassName,String MethodName,String args),使得这个方法能够实现调用,其中ClassName为类名,MethodName为方法名,args参数。例如:Temp("Hello","Demo","nihao");

解决方案 »

  1.   

    动态代理 实现 InvocationHandler 借口 
    Proxy.newProxyInstance(Test.class.getClassLoader(), new Class[]{接口名.class}, "实现InvocationHandler的类")在 实现InvocationHandler的类 类里就有个 invoke(String ClassName,String MethodName,String args) 
    MethodName.invoke(delegate, args); 就调用了你说的那个了。
      

  2.   


    import java.lang.reflect.Method;public class Test1 { public static void Temp(String ClassName, String MethodName, String args) throws Exception {

    Class c = Class.forName(ClassName);

    Method method = c.getDeclaredMethod(MethodName, String.class);

    Object obj = c.newInstance();

    method.invoke(obj, args);
    } public static void main(String args[]) throws Exception { Temp("Hello", "Demo", "nihao"); }
    }class Hello { public void Demo(String args) { System.out.println("Hello" + args); }}
      

  3.   

    谢谢你们,我去查查质料,因为对JAVA的反射还不是太了解,唉自己知道的太少了.