Bean 类/封装意味着变量应该是私有(private)的,并且 getter 和 setter 应该是公共(public)的。由于数据隐藏的原因。任何人都无法从外部访问此变量。
我的问题是:`使用 getter/setter 方法,我们可以从外部类访问/设置变量。那么为什么我们需要将该变量保持为私有(private)&&我们如何知道这是数据隐藏?
实际上我喜欢得到一些解释,因为我不知道我正在做这样的项目。 如果有任何错误或不清楚的问题,请原谅。
请任何人解释一下。
提前致谢
最佳答案
我刚刚想到的几个原因:
- 您可以控制变量的访问方式,例如不允许像
null
这样的无效值设置在setter
或者甚至根本不允许对只读变量使用 setter 。 - 您可以更改变量的结构,例如其数据类型并保留
setter
和getter
定义无需任何更改,因此您可以更轻松地进行内部更改/重构,而不会影响该类的所有用户。
关于Java bean 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10085536/