`
臻是二哥
  • 浏览: 183433 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
博客专栏
Group-logo
Java技术分享
浏览量:0
社区版块
存档分类
最新评论

反射机制实现方法调用

    博客分类:
  • JAVA
 
阅读更多
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
分享到:
评论
2 楼 jianshezhe 2014-08-26  
benbendehuozhe 写道
这代码运行报错

明显这个main方法运行的时候需要传参,不传参肯定要报错。
1 楼 benbendehuozhe 2014-08-26  
这代码运行报错

相关推荐

Global site tag (gtag.js) - Google Analytics