java如何调用动态方法
时间: 2023-10-09 19:04:44 浏览: 194
java 反射 动态调用不同类的静态方法(推荐)
Java可以通过反射机制调用动态方法。反射机制可以动态地获取类的信息,并在运行时调用类的方法。具体步骤如下:
1. 获取类的Class对象,可以通过Class.forName()方法或者类的实例的getClass()方法获取。
2. 获取方法的Method对象,可以通过Class类的getMethod()方法或者getDeclaredMethod()方法获取。getMethod()方法可以获取公共方法,getDeclaredMethod()方法可以获取所有方法(包括私有方法)。
3. 调用方法,可以通过Method对象的invoke()方法调用。需要传入方法所属的对象(如果是静态方法则传入null),以及方法的参数。
示例代码如下:
```
// 获取类的Class对象
Class<?> clazz = MyClass.class;
// 获取方法的Method对象
Method method = clazz.getDeclaredMethod("dynamicMethod", String.class);
// 调用方法
Object result = method.invoke(new MyClass(), "参数值");
// 输出结果
System.out.println(result);
```
其中,MyClass是要调用方法的类,dynamicMethod是要调用的方法名,String.class是方法的参数类型,new MyClass()是方法所属的对象,"参数值"是方法的参数。调用结果会保存在result变量中。
阅读全文