封装(encapsulation)
封装是面向对象的三大特征之一

封装的理念:高内聚、低耦合

我们程序设计要追求“高内聚,低耦合”,高内聚就是类的内部数据操作细节自己完成不允许外部干涉;低耦合是仅暴露少量的方法给外部使用,尽量方便外部调用
编程中封装的具体优点:
1、提高代码的安全性
2、提高代码的复用性
3、“高内聚”:封装细节,百年与修改内部代码,提高可维护性
4、”低耦合“:简化外部调用,便于调用者使用,便于扩展和协作
封装的实现-使用访问控制符
Java是使用“访问控制符”来控制那些细节需要封装,那些细节需要暴露的,Java中4种“访问控制符”分别为private、default、protected、public
访问权限修饰符
| 修饰符 | 同一个类** | 同一个包中 | 子类 | 所有类 |
|---|---|---|---|---|
| private | ☆ | |||
| default | ☆ | ☆ | ||
| protected | ☆ | ☆ | ☆ | |
| public | ☆ | ☆ | ☆ | ☆ |
关于protected的两个细节
1、若父类和子类在同一个包中,子类可访问父类的protected成员,也可访问父类对象 的protected成员
2、若子类和父类不在同一个包中,子类可访问父类的protected成员,不能访问父类对象的protected成员
封装的使用细节

开发中封装的简单规则:
1、属性一般使用private访问权限
属性私有后,提供相应的get/set方法来访问相关属性,这些方法通常是public修饰的,以提供对属性的赋值与读写操作(注意:boolean变量的get方法是is开头)
2、方法:一些只用于本类的辅助性方法可以用private修饰,希望其他类调用的方法用public修饰