本帖最后由 赵森羊 于 2012-9-20 07:51 编辑
给你写个列子:- package cn.itcast.day02;
- import java.lang.reflect.Method;
- class ReflexPoint{
- public int add(int...args ){
- int sum=args[0];
- for (int i = 0; i < args.length; i++) {
- sum+=args[i];
- }
- return sum;
- }
- }
- public class ReflexTest {
- public static void main(String[] args) throws Exception {
- Class cl=Class.forName("cn.itcast.day02.ReflexPoint");
- Object obj=cl.newInstance();
- Method me=cl.getMethod("add",int[].class);//1:获取add方法,int...args的Class实例就是int[].class</span>
- System.out.println(me.invoke(obj, new int[]{1,2,3}));//2:调用:invoke(obj, new int[]{1,2,3} ,这里不能直接写(obj,1,2,3),如果这样写,就直接拆散成1,2,3,而add方法的参数是要传入一个int数组
- }
- }
复制代码 |