类对象、类反射的暴力访问方法(如何访问父类的私有成员)

访问非公开权限的构造器,方法、属性

暴力访问




import java.lang.reflect.Field;


import org.junit.Test;


public class AccessViolence {
@Test
public void accessViolence(String className) throws ClassNotFoundException, NoSuchFieldException, SecurityException, InstantiationException, Exception {
Class cls = Class.forName(className);
//暴力访问其属性
Field fld=cls.getDeclaredField("id");
Object obj=cls.newInstance();
fld.setAccessible(true);//打开暴力访问的开关
fld.set(obj, "007");

//****注意:setAccessible()该方法是Field、Method和Constructor的公共父类,因此都可以调用以进行暴力访问


}
}

猜你喜欢

转载自blog.csdn.net/qq_35307947/article/details/80572913