当前位置:网站首页>2. 类与对象——封装
2. 类与对象——封装
2022-08-11 10:42:00 【陆悠漓】
1.封装
1.1封装的概念
面向对象程序三大特性:封装、继承、多态。而类和对象阶段,主要研究的就是封装特性。何为封装呢?
简单来说就是套壳屏蔽细节。
就好比你用手机只是单纯的用,而不会关心手机内部是如何组装的,当你需要手机充电的时候,你也不会去关心充电这个功能是怎么运作的,而只需要将充电器插在商家给你事先准备好的充电口就好了
封装:将数据和操作数据的方法进行有机结合,隐藏对象的属性和实现细节,仅对外公开接口来和对象进行交互
1.2访问限定修饰符
Java主要通过类和访问权限来实现封装:类可以将数据以及封装数据的方法结合在一起,而访问权限用来控制方法或者字段能否直接在类外使用
访问权限修饰符有四个,分别是
- public
- protected
- default
- private
对四个修饰符的理解:
public:可以理解为一个人的外貌特征,谁都可以看得到
default: 对于自己家族中(同一个包中)不是什么秘密,对于其他人来说就是隐私了
private:只有自己知道,其他人都不知道
| NO | 范围 | private | default | protected | public |
|---|---|---|---|---|---|
| 1 | 同一包中的同一类 | ||||
| 2 | 同一包中的不同类 | ||||
| 3 | 不同包中的子类 | ||||
| 4 | 不同包中的非子类 |
通过使用private修饰后的成员变量,可以在类内通过创建Getter and Setter 方法去访问
边栏推荐
猜你喜欢

Revelations!The former Huawei microservice expert wrote 500 pages of practical notes on the landing architecture, which has been open sourced

Install nodejs

虚拟机使用 WinSCP & Putty

chrome is set to dark mode (including the entire webpage)

How to determine the neural network parameters, the number of neural network parameters calculation

SAP Product Enhancement Technology Review

【应用SLAM技术建立二维栅格化地图】

宝塔一键部署WordPress(含宝塔添加站点、阿里云安全组配置、阿里云子域名解析)

使用.NET简单实现一个Redis的高性能克隆版(七-完结)

Deploying Robot Vision Models Using Raspberry Pi and OAK Camera
随机推荐
使用.NET简单实现一个Redis的高性能克隆版(七-完结)
unity初级面试分享
漫画手绘之临摹篇
Cholesterol-PEG-FITC, Fluorescein-PEG-CLS, Cholesterol-PEG-Fluorescein water-soluble
【学习笔记】线性规划对偶定理
Word小技巧之图表实现自动编号和更新
AcWing 273. 分级(线性DP+结论)
期货开户最低的是交易所手续费不加佣金
How to determine the neural network parameters, the number of neural network parameters calculation
Qihua stores the future and interprets the origin of distributed
Use Function Compute to package and download OSS files [Encounter Pit Collection]
数据库内核面试中我不会的问题(4)
淘宝/天猫获得淘宝app商品详情原数据 API
日志使用注意事项和建议
全新FIDE 编译简单评测
LeetCode·每日一题·1417.重新格式化字符串·模拟
MySQL表sql语句增删查改_增加
力扣打卡----打家劫舍
【Mysql系列】03_系统设计
Are there any foreign application cases for domestic databases?