封装相对于面向对象的其他两个特征:继承,多态,我认为更加好理解。
1. 所谓封装就是
① 把对象的成员变量和实现细节隐藏起来,使其对外透明
② 把方法暴露出来,让方法来控制对这些成员变量
2. 为什么需要封装?
① 隐藏类内部的细节,防止使用者错误修改,限制对成员变量的不合理访问
② 便于修改,提高代码的可维护性
3. 如何封装?
通过以下访问权限符实现封装
private(当前类访问权限)
default(包访问权限)
protected(子类访问权限)同包类OR子类
public(公共访问权限)
4. 局部变量
作用域就在它所在的方法,不可能被其他类访问,因为不能使用访问控制符来修饰。
5. 外部类
只能有两种访问控制:public 和 default,因为其他两种对于类而言没有任何意义。
public类可以被任何类访问,default类只能被同包类访问。一个.java文件,最多有一个public类。