共计 867 个字符,预计需要花费 3 分钟才能阅读完成。
Java 反射调用类的方法可以通过以下步骤实现:
- 获取需要调用方法的类的 Class 对象,可以使用
Class.forName()
方法传入类的全限定名获取,也可以通过对象的getClass()
方法获取。 - 通过 Class 对象的
getMethod()
或getDeclaredMethod()
方法获取要调用的方法对象。getMethod()
方法可以获取公有方法,而getDeclaredMethod()
方法可以获取所有方法,包括私有方法。 - 设置方法的可访问性,如果要调用的方法是私有方法,可以使用
setAccessible(true)
方法将其设置为可访问。 - 调用方法对象的
invoke()
方法,并传入要调用方法的对象以及方法的参数。
以下是一个示例代码,演示了如何使用反射调用类的方法:
import java.lang.reflect.Method;
public class ReflectMethodExample {public static void main(String[] args) throws Exception {
// 获取类的 Class 对象
Class clazz = MyClass.class;
// 获取要调用的方法对象
Method method = clazz.getDeclaredMethod("myMethod", String.class, int.class);
// 设置方法的可访问性
method.setAccessible(true);
// 创建类的实例
MyClass myObject = new MyClass();
// 调用方法
method.invoke(myObject, "Hello", 123);
}
}
class MyClass {private void myMethod(String str, int num) {System.out.println("String:" + str);
System.out.println("Number:" + num);
}
}
以上代码中,我们通过反射调用了私有方法myMethod()
,并传入了字符串和整数参数。
丸趣 TV 网 – 提供最优质的资源集合!
正文完