黑马程序员技术交流社区

标题: 利用反射getDeclaredField()方法可以强行访问私有变量 [打印本页]

作者: jwx555    时间: 2014-7-14 18:47
标题: 利用反射getDeclaredField()方法可以强行访问私有变量
  1. Field fieldX = ReflectPoint.class.getDeclaredField("x") ;
  2.                 fieldX.setAccessible(true);
  3.                
  4.                 System.out.println(fieldX.get(rf));
复制代码

像这样直接反射获得,那岂不是毫无安全性了么?
private还有作用么?
作者: Moonboy2014    时间: 2014-7-14 20:17
这是java留的后门。。。
作者: lancerjs    时间: 2014-7-14 20:30
封装提高安全性主要指防止方法或变量被传入错误的参数或错误的值,引起程序异常,和你所理解的安全不是一个概念




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2