Java 中通过方法名动态调用方法

Method method = clazz.getMethod(methodName,new java.lang.Class[]{parameterTypesClass});  
method.invoke(object,new Object[]{parameter});  
      
methodName是要调用的方法名字,parameterTypesClass是要调用方法的参数的类型的数组,且必须声明为Class[]类型的数组!(对于没有参数的方法,可以省去不写)  
object:当要调用的方法为static时,该参数为null,否则应该是所要载入的类的实例(即该方法所属的类的实例)  
parameter:是你要调用的方法参数(与parameterTypesClass中的类型声明对应)

 

如果方法有返回值,返回为Object类型,可以自行进行转换!

Object obj = method.invoke(object,new Object[]{parameter});  

你可能感兴趣的:(java)