如何在Java的私有方法中从另一个类访问对象?

从另一个类调用私有方法的简单示例。

档案:A.java

public class A {
  private void message(){System.out.println("hello java"); }
}


文件:MethodCall.java

import java.lang.reflect.Method;
public class MethodCall{
public static void main(String[] args)throws Exception{

    Class c = Class.forName("A");
    Object o= c.newInstance();
    Method m =c.getDeclaredMethod("message", null);
    m.setAccessible(true);
    m.invoke(o, null);
}
}

最佳答案

由于private仅用于声明的类中,因此不能从其他类中调用。如果要使用它,则应在将其修改为受保护或公共后再使用它。

10-05 20:46
查看更多