当给定方法名称作为字符串时,如何调用 Java 方法?
java.lang.reflect.Method类提供有关类或接口上的单个方法的信息和对其的访问。反映的方法可以是类方法或实例方法(包括抽象方法)。当将要调用的实际参数与基础方法的形式参数进行匹配时,方法允许发生扩展转换,但如果发生缩小转换,它会抛出IllegalArgumentException。
您可以使用java.lang.reflect包的名为method的类来调用该方法。此类的构造函数接受字符串形式的方法名称。您可以使用该invoke()方法调用此方法。
示例
import java.lang.reflect.Method;
public class DemoTest {
   private void sampleMethod(){
      System.out.println("hello");
   }
}
public class SampleTest {
   public static void main(String args[]) throws Exception{
      Class c = Class.forName("DemoTest");
      Object obj = c.newInstance();
      
      Method method = c.getDeclaredMethod("sampleMethod", null);
      method.setAccessible(true);
      method.invoke(obj, null);
   }
}