Head First Java里比喻封装,就像裤子。很搞笑,没有封装就等于没穿裤子,所有都被外人开到了。封装就是隐藏内部细节,只对外暴露想暴露的方法和数值。
封装的好处:
1、良好的封装能够减少耦合
举个例子,把成员变量比如age定义为private值,所有外部类只有通过 people.setAge()来改变age值。在setAge函数里,people对象可以对age的范围做保护,设置超过120,或者小于0的值都可以屏蔽在外。如果一开始就把age作为public暴露在外,对无法对age值做任何校验。
2、类内部的结构可以*修改
接着上一个例子,随着科技的发展,人的寿命越来越长,age的上限可以设为50,这是内部结构,没有暴露给外部。可以*修改。
3、隐藏实现细节,隐藏信息