当给定方法名称作为字符串时,如何调用 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);

   }

}

以上是 当给定方法名称作为字符串时,如何调用 Java 方法? 的全部内容, 来源链接: utcz.com/z/338825.html

回到顶部