import java.lang.reflect.*;
class Person
{
public void sayBye(){System.out.println("bye bye");}
public void sayHello(String name){System.out.println("hello "+name);}
public void sayWelcome(String name,String address){System.out.println("welcome "+name+" to "+address);}
}
public class Demo
{
public static void main(String [] args) throws Exception
{
Object obj=Class.forName(args[0]).newInstance();
String [] str=null;
if(args.length>=3)
str=args[2].split(",");
invokeMethod(obj,args[1],str);
}
public static Object invokeMethod(Object obj,String methodName,Object[] args) throws Exception
{
Class [] argsClass = null;
if(args!=null)
{
argsClass=new Class[args.length];
for(int i=0;i<argsClass.length;i++)
argsClass[i]=args[i].getClass();
}
Method method=obj.getClass().getMethod(methodName,argsClass);
return method.invoke(obj,args);
}
}
反射机制实现方法调用
最新推荐文章于 2022-01-03 13:53:27 发布