1.:penguin:封装的概念
面对对象程序有三大特性:封装、继承、多态。而类和对象阶段,主要研究的就是封装特性。何为封装呢?简单来说就是 套一个壳来隐蔽细节 。
比如:电脑这样一个负责的设备,提供给用户的就只是一些很容易上手的功能:开关机、通过键盘输入,显示器,USB插孔等,让用户来和计算机进行交互,以此来完成日常事务。
但一个计算机,真正工作的是黑匣子里面的CPU、显卡、内存等一些硬件元件。
对于计算机使用者而言,不用去关心内部的核心不见,比如主板上的线路是如何布局的?CPU是如何设计的?
用户只需要知道,怎么开机、怎么通过键盘和鼠标与计算机进行交互即可。
因此计算机厂商在出厂的时候,在外部套上壳子,将内部的实现细节隐藏起来,仅仅对外提供开关机、鼠标以及键盘插孔等,让用户可以与计算机进行交互即可,这样能让用户操作更舒适,也更进一步得保护电脑主机。对于我们写的程序来说也是这样
那么就可以引出Java中封装的概念
封装:将数据和操作数据的方法进行有机结合,隐藏对象的属性和实现细节,进对外公开接口来和对象进行交互
2.:ice_cream:访问限定符
Java中主要通过类和访问权限来实现封装: 类可以将数据以及封装数据的方法结合在一起 ,更符合人类对事物的认知,而 访问权限用来控制方法或者字段能否直接在类外使用 。
Java中提供了四种访问限定符:
No | 范围 | private | defaul | protected | public |
---|---|---|---|---|---|
1 | 同一包中的同一类 | :watermelon: | :watermelon: | :watermelon: | :watermelon: |
2 | 同一包中的不同类 | :watermelon: | :watermelon: | :watermelon: | |
3 | 不同包中的子类 | :watermelon: | :watermelon: | ||
4 | 不同包的非子类 | :watermelon: |
比如:
public:可以理解为一个人的外貌特征,谁都可以看到
default:对于自己家族中(同一个包中)不是什么秘密,对于其他人来说就是隐私了
private:只有自己知道,其他人都不知道
:cat:【说明】:
- protected主要是用在继承中,这一部分后面我会给大家介绍
- defaul权限就是指默认权限
- 访问权限除了可以限定类中成员的可见性,也可以控制类的可见性
这是一个计算机的类
public class Computer {
private String cpu;
// CPU
private String memory;
// 内存
public String screen;
// 屏幕
String brand;
//