首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

java反照简单介绍

2012-12-24 
java反射简单介绍package testReflectimport java.lang.reflect.*public class TestReflect {public int

java反射简单介绍

package testReflect;import java.lang.reflect.*;public class TestReflect {public int add(int param1,int param2){return param1+param2;}public String echo(String msg){return "echo:"+msg;}public static void main(String[] args) throws Exception{Class<TestReflect> classType=TestReflect.class;Object invokeTester=classType.newInstance();//调用InvokeTester对象的add()方法Method addMethod=classType.getMethod("add",new Class[]{int.class,int.class});Object result=addMethod.invoke(invokeTester,new Object[]{new Integer(100),new Integer(200)});System.out.println((Integer)result);//调用InvokeTester对象的echo()方法Method echoMethod=classType.getMethod("echo",new Class[]{String.class});result=echoMethod.invoke(invokeTester,new Object[]{"Hello"});System.out.println((String)result);}}

Method类的invoke(Object obj, Object args[])方法用于动态执行一个对象的特定方法。
第一个obj 参数指定具有该方法的对象;
第二个args 参数指定向该方法传递的参数,该参数必须为对象,如果参数为基本类型数据,必须转换为相应的包装类型的对象;
invoke()方法的返回值总是对象,如果实际被调用的方法的返回类型是基本类型数据,那么invoke()方法会把它转换为相应的包装类型的对象,再将其返回。

热点排行