import java.lang.reflect.Method;
公共类invoke tester {
公共int add (int param 1,int param2) {
返回param1param 2;
}
公共字符串echo (字符串消息) {
返回' Echo ' mesg;
}
publicstaticvoidmain (字符串[ ] args ) throws Exception { )。
class classtype=invoke tester.class;
objectinvokertester=classtype.new instance (;
methodaddmethod=classtype.get method ',new Class[] { int.class,
int.class };
//Method类的invoke(objectobj,Object args[] )方法接收的参数必须是目标参数。
//如果参数是基本类型数据,则需要将其转换为适当的包装类型对象。 invoke ) )方法的返回值始终是对象。
//如果实际调用的方法的返回类型是基本类型数据,则invoke ) )方法将其转换为相应的包装类型对象。
//再把它还给你
对象结果=add method.invoke (invoker tester,new Object[] {
新integer (100 )、新integer (200 );
在jdk5.0中形成装箱开箱结构的newinteger(100 )可以用100代替,系统自动在int和integer之间转换
system.out.println(result );
methodechomethod=classtype.get method (echo ),
new Class[] { String.class };
result=echo method.invoke (invoker tester,new Object[] { 'hello' } );
system.out.println(result );
}
}