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/

相关推荐
疯狂打码的少年2 小时前
【数据库技术】复习日:关系代数 + SQL + 规范化(整理对比表)
jvm·数据库·笔记·sql
维克兜率天3 小时前
【维克】特征归一化与标准化:为什么模型对数据的“尺度“很敏感?
人工智能·笔记·python·机器学习·量化
摇滚侠3 小时前
《SpringBoot 3:入门与应用实战》第 12 章 JDBC 与事务 使用 JdbcTemplate 阅读笔记 31
android·spring boot·笔记
金字塔頂の蝸牛3 小时前
商务日语口语全手册(一)
笔记·日语·语言·外语
从零开始的嵌入式之旅4 小时前
day36
linux·c语言·经验分享·笔记·嵌入式硬件
墨雨晨曦885 小时前
2026/09/07笔记
笔记
志尊宝5 小时前
Vue3 零基础每日笔记(005):ref 响应式基础——为什么 script 里要 .value
前端·javascript·vue.js·笔记
点心的游戏开发世界7 小时前
GDScript 入门笔记(十六):文件读写与数据持久化
开发语言·笔记·游戏引擎·godot
ByNotD0g7 小时前
跨站脚本攻击- XSS
笔记·web安全
摇滚侠7 小时前
《Spring Boot 3:高级与架构设计》第 1 章 BeanDefinitionRegistry 阅读笔记 3
spring boot·笔记·后端