【JAVA SE基础篇】27.面向对象三大特征之封装
1.封装的作用
程序设计要追求”高内聚,低耦合“
高内聚:类的内部数据操作细节自己完成,不允许外部干涉。
低耦合:仅暴露少量的方法给外部使用,尽量方便外部调用。
类似设计电视,冰箱也是,外部看起来很简单,就几个开关,方便使用。内部很复杂,不对外展示。
封装的概念就产生于此,把对象的属性和操作结合为一个独立的整体,并且尽可能的隐藏对象的内部实现细节。
封装的优点:
1.提高代码的安全性和复用性
2.高内聚(封装细节,便于修改内部代码,提高可维护性)
3.低耦合(简化外部调用,便于调用者使用,便于扩展和协作)
没有封装代码会有问题
例:
2.封装的实现
为了实现封装,我们使用了访问控制符
在java中有四个访问控制符:private default protected public
其权限图为
修饰符 | 同一个类 | 同一个包 | 子类 | 所有类 |
private | √ | × | × | × |
default | √ | √ | × | × |
protected | √ | √ | √ | × |
public | √ | √ | √ | √ |
1.private:表示私有,只有自己的类能访问
2.default:表示默认,没有修饰符的时候默认为defalut,只有同一个包内能访问
3.protected:表示保护,可以被同一个包的类及其子类访问
4.public:表示公共,可以被该项目所有的包的所有类访问
例:
3.封装的使用细节
类的使用处理:
1.一般使用private
2.提供set/get方法来访问相关属性,这些方法通常是public,以提供对属性赋值与读取操作(注:boolean变量的get方法是is开头的)
3.一些只用于本类对辅助性方法可以用private修饰
例:
封装:
调用:
这就可以防止输入年龄的错误等类似问题,封装也就是之后在javaee中的javabean