得到隐藏的成员函数与隐藏的成员变量的方法基本相同
public class PrivateTest
{
private void print()
{
System.out.println("this is a private method");
}
}
这个类中有一个私有化的方法,要在反射中用到隐藏的成员方法,用getDeclaredMethod()方法配合method.setAccessible(true)方法也可以暴力反射提取类中的私有化方法
import java.lang.reflect.Method;
public class PrivateTest2
{
public static void main(String[] args)
{
try
{
Method method = PrivateTest.class.getDeclaredMethod("print", new Class[]{});
method.setAccessible(true);
Method.invoke(new PrivateTest(), new Object[] {});
}
catch (Exception e)
{
System.out.println(e.toString());
}
}
}
|