阅读量:0
Java反射可以通过使用getDeclaredMethod()
方法来获取私有方法。getDeclaredMethod()
方法可以获取指定名称和参数类型的方法,包括私有方法。
以下是一个示例代码,演示了如何使用反射获取并调用私有方法:
import java.lang.reflect.Method; public class ReflectionExample { private void privateMethod() { System.out.println("私有方法被调用"); } public static void main(String[] args) throws Exception { // 获取类的Class对象 Class<ReflectionExample> clazz = ReflectionExample.class; // 获取指定名称的私有方法 Method privateMethod = clazz.getDeclaredMethod("privateMethod"); // 设置私有方法可访问 privateMethod.setAccessible(true); // 创建类的实例 ReflectionExample example = clazz.newInstance(); // 调用私有方法 privateMethod.invoke(example); } }
在上述代码中,getDeclaredMethod()
方法用于获取privateMethod()
方法,setAccessible(true)
方法用于设置私有方法可访问,invoke()
方法用于调用私有方法。
注意:在使用反射调用私有方法时,需要设置私有方法可访问,否则会抛出IllegalAccessException
异常。