【发布时间】:2014-11-09 20:20:44
【问题描述】:
既然我们可以通过反射访问任何东西,无论它是一个字段、方法还是构造函数,声明私有的东西有什么真正的帮助/做什么?私有字段的唯一目的是告诉其他程序员,嘿,这个字段不应该这样使用吗?
在谈到安全性时,有没有办法阻止用户访问 API(为了主题,假设它是闭源的)私有和受保护字段?
【问题讨论】:
-
访问修饰符与安全性无关,它们用于封装。
-
那么我可以从哪里获得安全性呢?
-
您似乎对 API 设计的安全性感到困惑。除非您在您控制的 JVM 上运行代码,否则无法阻止用户访问 API。
-
@OlaviMustanoja,请在您的程序上下文中定义“安全性”。
-
@MikeSamuel 安全性,因为不允许以任何方式在包含私有字段的类之外访问私有字段。没有产生这个问题的程序,这只是我的普遍好奇心。
标签: java security reflection private-members