28面向对象(中级)-封装

1.什么是封装?

把属性私有化,对外提供公共的访问方法,隐藏内部实现,只暴露必要接口。

再通俗一点:把东西装起来,不让别人随便乱改,只留一个安全的口子让别人用。

2. 封装做了两件事

  1. 隐藏 :用 private 把成员变量私有化,外部不能直接访问、乱改。
  2. 暴露 :提供 publicgetXxx() / setXxx() 方法,让外部可控地读写。

3. 封装的好处

(1)隐藏实现细节

内部怎么实现的,外部不用知道,也不能乱改。

(2)数据安全

防止外部随意赋值,避免非法数据。

(3)提高可维护性

以后内部逻辑改了,只要对外方法不变,外部代码不用动。

(4)简化使用

外部只需要调用方法,不用关心内部复杂逻辑。

4.封装的实现步骤

5.一些细节

(1)构造器与set方法结合

如果在构造器中也需要对属性进行保护,可以在构造器中调用set,get方法。

相关推荐
IKUN家族9 小时前
Spring MVC(一)
java·spring·mvc
老马识途2.011 小时前
关于跨域问题的总结
java·前端
都叫我大帅哥12 小时前
Java日期时间三十年战争:从Date考古到LocalDateTime革命,以及数据库与前端的那点事儿
java
Muscleheng12 小时前
SpringBoot 集成 DeepSeek 实现 RAG 文档问答
java·spring boot·ai·springai
2501_9364156912 小时前
可变参数&综合练习&斗地主游戏
java·windows·游戏
极客先躯13 小时前
高级java每日一道面试题-2026年05月03日-实战篇[Docker]-如何实现容器化环境的数据加密?
java·运维·docker·容器·金融·加解密·高级面试
xqqxqxxq14 小时前
Java Socket 多人聊天室(私聊+群聊)技术笔记(V4版本)
java·网络·笔记
wang090714 小时前
自己动手写一个spring之aop_1
java·后端·spring
国科安芯15 小时前
FreeRTOS RISC-V 浮点上下文切换移植:在 IAR 工程中完整保存 FPU 寄存器
java·开发语言·单片机·嵌入式硬件·算法·系统架构·risc-v
deng120415 小时前
【Thread类的用法(1)-- Thread类的基本用法】
java·java-ee