黑马程序员技术交流社区

标题: 有关反射中Method的问题 [打印本页]

作者: wsssx    时间: 2011-12-31 17:40
提示: 作者被禁止或删除 内容自动屏蔽
作者: 李盈科    时间: 2011-12-31 20:18
  1. import java.lang.reflect.Method;

  2. public class InvokeTester
  3. {
  4.         public int add(int param1,int param2)
  5.         {
  6.                 return param1+param2 ;
  7.         }
  8.        
  9.         public String echo(String message)
  10.         {
  11.                 return "hello "+message;
  12.                
  13.         }
  14.        
  15.         public static void main(String[] args) throws Exception
  16.         {
  17. //                InvokeTester a = new InvokeTester();
  18. //               
  19. //                System.out.println(a.add(2, 3));
  20.                
  21.                 Class<?> classType = InvokeTester.class;
  22.                
  23.                 Object invokeTester = classType.newInstance();
  24.                
  25. //                System.out.println(invokeTester instanceof InvokeTester);
  26.                
  27.                 Method addMethod = classType.getMethod("add",new Class[]{Integer.TYPE,Integer.TYPE});
  28.                
  29.                 Object result = addMethod.invoke(invokeTester, new Object[]{1,2});
  30.                
  31.                 System.out.println((Integer)result);
  32.                
  33.                 System.out.println("-------------------------------------------------------");
  34.                
  35.                 Method echoMethod = classType.getMethod("echo", new Class[]{String.class});
  36.                 Object result2 = echoMethod .invoke(invokeTester, new Object[]{"tom"});
  37.                
  38.                 System.out.println((String)result2);
  39.                
  40.                
  41.         }
  42. }
复制代码

作者: 李盈科    时间: 2011-12-31 20:19
看一下我这个程序吧,应该明显了
作者: 颜宗茂    时间: 2011-12-31 20:51
应该是自动装箱了,从int转为nteger




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2