反射机制实现方法调用

来源:互联网 发布:apache源码包下载地址 编辑:程序博客网 时间:2024/05/22 16:05
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);}}     
0 0
原创粉丝点击