如何根据传入的字符串作为方法名调用 Java 方法?
java.lang.reflect.Method 类提供有关类或接口中单个方法的信息并可访问它。反射方法可以是类方法或实例方法(包括抽象方法)。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);
}
}
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP