论坛首页 入门技术论坛

java反射之动态调用方法

浏览 3527 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-07-06  
java 代码
 
  1. package ref;  
  2.   
  3. import java.lang.reflect.Method;  
  4.   
  5. public class Methoder {  
  6.   
  7.     /** 
  8.      * @param args 
  9.      */  
  10.     public static void main(String[] args) throws Exception {  
  11.         // TODO 自动生成方法存根  
  12.          
  13.         Class c = Class.forName("ref.Test");  
  14. //        Class ptypes[] ={Class.forName("java.lang.String")};  
  15.         Class types[] =new Class[1];  
  16.         types[0]=Class.forName("java.lang.String");//方法的参数对应下面的String aa  
  17.  
  18.         Method m = c.getMethod("sayHello",types );//动态调用sayHello方法  
  19.         Test t = new Test();  
  20.         m.invoke(t,"hellojava" );//传给方法的的参数  
  21.     }  
  22.   
  23. }
  24. package ref; 
  25.  
  26. class Test{ 
  27.     public void sayHello(String aa){ 
  28.         System.out.println("Test:"+aa); 
  29.     } 
  30. } 
  31.  

   发表时间:2007-07-06  
Class types[] =new Class[2];
types[0]=Class.forName("java.lang.String");//方法的参数对应下面的String aa
types[1]=Class.forName("java.lang.Integer");
// /ptypes = Class.forName("java.lang.String");
Method m = c.getMethod("sayHello",types[0] );这样也可以实现
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics