java反射动态调用方法

  1. import java.lang.reflect.Method;   
  2.   
  3. public class Methoder {   
  4.   
  5.     /**  
  6.      * @param args  
  7.      */  
  8.     public static void main(String[] args) throws Exception {   
  9.         // TODO 自动生成方法存根   
  10.   
  11.         Class c = Class.forName("com.verran.ClassForName.Test");   
  12. //        Class ptypes[] ={Class.forName("java.lang.String")};   
  13.         Class types[] =new Class[1];   
  14.         types[0]=Class.forName("java.lang.String");   
  15.         Method m = c.getMethod("sayHello",types);//第一个参数为调用的方法名。第二个为方法的返回值;类型   
  16.         Test t = new Test();   
  17.         m.invoke(t,"sayHello" );//第一个参数表示要调用的对象,后者为传给这个方法的参数   
  18.     }   
  19.   
  20. }   
  21.   
  22. package com.verran.ClassForName;   
  23.   
  24. public class Test {   
  25.   
  26.         static {   
  27.             System.out.println("hi.....");   
  28.         }   
  29.         public String sayHello(String s){   
  30.             return s;   
  31.         }   
  32. }   
  1. da shang
    donate-alipay
               donate-weixin weixinpay

发表评论↓↓