一、名词解读
为了解释封装的概念和作用,需要先来了解一下几个相关的概念,这有助于我们接下来的理解。
1. 权限修饰符
当我们在一个类中定义成员变量时,会指定一个变量的类型,除此之外,还会有修饰符的部分,在此给出定义成员变量的规范格式:
// 定义变量
[修饰符] 变量类型 变量名称;
[修饰符] 变量类型 变量名称 = 初始值;
修饰符起到的作用从字面就可以解释,起到一个修饰和限定的作用,可以使用在成员变量之前的修饰符可以是:public、protected、private、final、static。
修饰符与修饰符之间的顺序没有强制要求,其中public、protected、private被称为权限修饰符,可以用来限定类的属性和方法的访问权限,指明在哪些包的哪些类中能够调用到这些属性或方法,是一种一定会存在的修饰符。需要注意的是,这三个单词不能同时出现,当这三个单词都不出现的时候会被认为是默认访问权限,所以权限修饰符一共有四种:private、默认、protected、public。
- private:私有权限,只能在定义的类中访问,在其他类中创建的实例均无法访问
- 默认:同包可访问权限,在没有声明权限修饰符时为默认权限,允许在同包的其他类访问
- protected:受保护权限,允许有继承关系的子类访问
- public:公共权限,允许任何类访问