Java教程

Java的反射机制-动态调用对象的方法

本文主要是介绍Java的反射机制-动态调用对象的方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
复制代码
package com.beidou.test;
import java.lang.reflect.Method;

public class Dynamic {
    public static void main(String[] args) throws Exception{
    Class c = Dynamic.class;//得到对象
    Method[] methods = c.getDeclaredMethods();//得到方法

    for(Method method : methods){
      System.out.print(method.getName());//打印参数名
      Class[] parameterTypes = method.getParameterTypes();
      for(int i=0;i<parameterTypes.length;i++){
          String nameString=parameterTypes[i].getName();
          System.out.print("parameterType:"+nameString);//打印方法参数类型
      }
      
      System.out.print("ReturnType:"+method.getReturnType());
          System.out.println();
      }

      Object obj=c.newInstance();//获取到方法对象,假设方法的参数是一个int,String,method名为getAge
      Method sAge = c.getMethod("getAge", new Class[] {int.class,String.class});
      //获得参数Object
       Object[] arguments = new Object[]{new Integer(23),new String("abc")};
      //执行方法
      String s=(String)sAge.invoke(obj , arguments);
     System.out.print(s);
     }

     public String  getAge(int age,String name){
           return name+": "+age;
     }
}

  

这篇关于Java的反射机制-动态调用对象的方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!