java反射怎么获取私有方法

avatar
作者
筋斗云
阅读量: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异常。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!