invoke调用私有方法

avatar
作者
筋斗云
阅读量:0

在Java中,可以使用反射(Reflection)来调用私有方法。以下是一个示例:

import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method;  public class Main {     public static void main(String[] args) {         MyClass obj = new MyClass();         try {             Method method = MyClass.class.getDeclaredMethod("privateMethod");             method.setAccessible(true);             method.invoke(obj);         } catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException e) {             e.printStackTrace();         }     } }  class MyClass {     private void privateMethod() {         System.out.println("Private method invoked!");     } } 

在这个示例中,我们首先获取MyClass类的privateMethod方法,然后通过setAccessible(true)设置该方法为可访问,最后使用invoke()方法调用它。注意,这种方法可能会导致安全隐患和不稳定的代码,因此在实际项目中应谨慎使用。

广告一刻

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