关于封装的问题

bra*_*boy 3 java oop encapsulation

我知道封装是将成员及其行为绑定在一个实体中.它让我觉得成员必须是私人的.这是否意味着如果拥有公共成员的班级没有遵循100%封装规则?

谢谢

Bil*_*ard 6

封装既是数据捆绑又是数据隐藏.Java允许您公开数据,但如果您选择这样做,您应该有充分的理由.成员变量应作为默认设置为私有,并且只有在绝对必要时才会提升到更高的可见性.

  • 任何提出应该公开的非静态,​​非最终数据的好例子的人都会得到我的投票. (3认同)
  • @Helper,直接分配给一个成员避免了函数调用的开销,虽然很小,但可以导致更快的运行代码(特别是紧密循环),这可能是应用程序的重要目标(例如图形),对吧?无论如何,我一般都同意,必须有一个好的(即可衡量的)理由放弃间接制定者的安全性和灵活性,但要说"从来没有"似乎极端...... (3认同)