【发布时间】:2021-12-21 16:49:36
【问题描述】:
我很困惑,因为我一直听到的是 Java 中的私有变量应该保护代码或变量。但是,如果任何人都可以访问代码,那么如果它是私有的就没有什么区别,他们仍然可以更改它。那么当任何有权访问代码的人都可以更改它时,它如何被认为是受保护的呢?
【问题讨论】:
-
见:softwareengineering.stackexchange.com/questions/143736/…。基本上制作一些
private
只是说应该检索此变量并将其作为接口而不是直接作用。它保护了该项目如何使用的结构。当然你可以在你拥有的源代码中强制改变它,同样我也有人可以完全删除代码。一旦有人故意弄乱代码,这是一个静音点。 -
所以这是礼仪的事情?
-
制作
private
意味着您无法在该类之外访问它,它具有功能影响。我的意思是你可以用 anything 来说明这一点。这就像说:“如果有人可以将常量变成普通变量,为什么还要使用常量”?修改源代码的人不会影响某事的重要性。除此之外,还有很多你无法修改源代码的 API 和库 -
这是encapsulation的一个概念,其中访问被限制在内部状态,否则通过方法(getter和setter)进行管理,它确保对象可以保持有效的已知状态
-
private
旨在保护你免受你自己的伤害,即帮助防止如果使用得当,您不会犯错误。通常,private
有助于防止您随意访问变量,因此当您稍后返回并想要更改或删除该变量时,您不必修复您使用它的无数地方。
标签: java variables private-members