Java 笔记 封装(Encapsulation)

封装(Encapsulation) 是面向对象编程(OOP)的核心特性之一,它的意思是:

"把对象的内部数据(状态)和实现细节隐藏起来,只通过公开的方法(接口)来访问或修改。"

✅ 封装的目的

  • 隐藏实现细节

  • 保护数据安全

  • 简化对外使用方式

  • 增强类的可维护性和可复用性


🧱 封装的典型写法(Java 规范)

  1. 属性设为 private

  2. 通过 publicgetter/setter 方法暴露必要的访问方式

java 复制代码
public class Person {
    // 1. 私有字段,外部不能直接访问
    private String name;
    private int age;

    // 2. 公共方法,控制访问
    public String getName() {
        return name;
    }

    public void setName(String name) {
        // 可以加验证逻辑
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        if (age >= 0) {
            this.age = age;
        }
    }
}
作用 举例
控制访问权限 不让外部直接修改 age 为负数
隐藏复杂性 隐藏内部计算逻辑、算法等
方便维护和升级 改变内部实现时不影响使用者
增强安全性 限制对关键数据的非法操作

写小说也写代码,左手架空世界,右手现实逻辑。

📚 欢迎来看博客,起点同笔名在写小说,欢迎来找我玩。

https://my.qidian.com/author/433910170/

相关推荐
麻雀无能为力12 小时前
Pytorch框架笔记
人工智能·pytorch·笔记
峰顶听歌的鲸鱼14 小时前
27.Linux swap交换空间管理
linux·运维·服务器·笔记·学习方法
xx240614 小时前
随堂笔记2025-925
笔记
CodeNerd影15 小时前
prompt提示词工程---如何让大模型更听得懂人话
笔记·python·prompt
茯苓gao16 小时前
STM32G4 电流环闭环(二) 霍尔有感运行
笔记·stm32·单片机·嵌入式硬件·学习
小幽余生不加糖17 小时前
电路方案分析(二十四)汽车高压互锁参考设计
笔记·学习·机器人·汽车·能源
航Hang*18 小时前
Kurt-Blender零基础教程:第2章:建模篇——第3节:陈列/父子级/蒙皮/置换修改器与小狐狸角色建模
笔记·blender·建模
源代码•宸1 天前
GAMES101:现代计算机图形学入门(Chapter2 向量与线性代数)迅猛式学线性代数学习笔记
经验分享·笔记·学习·线性代数·计算机图形学
Larry_Yanan1 天前
QML学习笔记(四)QML新手入门其二:通过MouseArea让Rectangle实现鼠标三态
笔记·qt·ui
Ethan learn English1 天前
English Around the House and Farm
笔记·英语·可理解性输入