封装基础知识
知识点为什么要封装、如何实现封装一、为什么要封装封装把对象的属性和方法放在类的内部隐藏细节只暴露必要入口。1.1 现实例子手机你不需要知道屏幕、电池、芯片怎么工作你只需要使用开机、打电话、拍照等功能。1.2 封装的好处好处说明隐藏细节外部不需要知道类的内部实现提高安全防止外部随意修改数据便于维护修改内部代码不影响外部调用降低耦合类与类之间依赖更少1.3 没有封装的问题如果属性公开外部可以任意赋值数据容易出错。public class Student { public String name; public int age; }public class Test { public static void main(String[] args) { Student s new Student(); s.age -18; // 不合理但能直接修改 } }问题年龄是负数业务上不合理但public属性无法限制。二、如何实现封装2.1 封装的步骤属性使用private修饰对外提供getXxx()方法读取属性对外提供setXxx()方法修改属性在setXxx()中加入条件判断。2.2 代码示例public class Student { // 1. 属性私有化 private String name; private int age; // 2. 提供get方法读取属性 public String getName() { return name; } // 3. 提供set方法修改属性 public void setName(String name) { this.name name; } public int getAge() { return age; } public void setAge(int age) { // 4. 在set方法中加入条件判断 if (age 0 age 120) { this.age age; } else { System.out.println(年龄不合法); } } }public class TestStudent { public static void main(String[] args) { Student s new Student(); s.setName(张三); s.setAge(18); System.out.println(s.getName()); // 张三 System.out.println(s.getAge()); // 18 s.setAge(-18); // 年龄不合法 } }2.3 方法封装除了属性方法也可以封装。public class Student { private String name; public String getName() { return name; } public void setName(String name) { this.name name; } // 对外提供统一入口 public void showInfo() { System.out.println(name); } }三、封装的规范总结成员权限原因属性private防止外部直接修改get/set 方法public对外提供访问入口工具方法private只在类内部使用对外功能方法public方便外部调用本章小结封装目的隐藏内部细节保护数据安全。实现方式属性private提供getXxx()和setXxx()。业务判断在setXxx()中校验数据是否合法。好处安全、清晰、易维护、降低耦合。

相关新闻

ResNet18动物图像分类工程实践:从训练到Flask部署

ResNet18动物图像分类工程实践:从训练到Flask部署

简介:这是一份面向Python深度学习初学者与图像分类实践者的ResNet动物图像分类项目源码包,聚焦于使用PyTorch或TensorFlow框架实现端到端的模型训练与预测。资源完整覆盖数据预处理、ResNet18模型构建、训练调优、权重保存(含已训练的resnet1…

2026/10/1 11:40:20 阅读更多 →
【第51期】队列与双端队列:队列顺序、循环缓冲与滑动窗口的完整排查、实现与实验教程

【第51期】队列与双端队列:队列顺序、循环缓冲与滑动窗口的完整排查、实现与实验教程

CSDN 完整教程 系列:《从小白到 AI 大模型开发工程师的进阶之路》 技术点:AI-0205 队列与双端队列 主人公:小蓝伞 前置:AI-0204 本期产出:可运行的队列与双端队列练习项目与失败输入验证 小蓝伞在排查一个“结果没错但…

2026/10/1 11:39:20 阅读更多 →
Univer 表格 SDK 实战:单元格级编辑控制与 Node.js 服务端校验

Univer 表格 SDK 实战:单元格级编辑控制与 Node.js 服务端校验

1. 从一张“只能填几个格子”的表格说起如果你做过企业内部系统,大概率遇到过这种需求:给用户一张表格,只允许他填其中几列,其他列要么是公式自动算出来的,要么是后台锁定的数据,用户碰都不能碰。听起来简单…

2026/10/1 11:39:20 阅读更多 →

最新新闻

Java开发者AI应用实战:Spring AI与RAG集成路线图

Java开发者AI应用实战:Spring AI与RAG集成路线图

Java 圈子这两年有个挺有意思的现象:面试造火箭的那批人,突然开始集体焦虑 AI。倒不是怕被 AI 取代,而是发现身边做 Python 的同事,三行代码就能调个大模型跑通一个 RAG 问答,自己还在那儿纠结 Maven 依赖冲突。更扎心…

2026/10/1 13:16:10 阅读更多 →
驱动人生挖矿木马分析与处置:主机取证、流量溯源与清除加固

驱动人生挖矿木马分析与处置:主机取证、流量溯源与清除加固

1. 从一台"看起来很正常"的机器说起驱动人生挖矿木马这个话题,我前后跟进过好几次,每次处理完都有新的体会。简单说,它就是一起典型的"正规软件分发链路被污染、静默下发挖矿载荷"的安全事件——用户装的是一个天天用的驱…

2026/10/1 13:16:10 阅读更多 →
LangGraph状态图编排Agent:从StateGraph到工具调用循环实战指南

LangGraph状态图编排Agent:从StateGraph到工具调用循环实战指南

1. 为什么我转向了 LangGraph做 Agent 开发的朋友应该都有一个感受:从零手写 Agent 循环,代码写到最后总是一团乱麻。最早我用 LangChain 的AgentExecutor,跑个简单的工具调用没问题,一旦涉及多步骤、条件分支、人工介入&#xff…

2026/10/1 13:16:10 阅读更多 →
Cursor与Cline接入大模型API实战:从DeepSeek配置到报错排查

Cursor与Cline接入大模型API实战:从DeepSeek配置到报错排查

2026年还在做全栈开发的,手边基本躲不开Cursor和Cline这两个工具。我身边不少朋友已经把日常开发切到这套AI编程环境里,但真正卡住他们的往往不是提示词写得不好,而是“模型接入”这一层:官方订阅价格下不去手,想换成高…

2026/10/1 13:16:10 阅读更多 →
告别手写Agent循环:Strands Agents Harness SDK生产级Agent开发指南

告别手写Agent循环:Strands Agents Harness SDK生产级Agent开发指南

1. 为什么“手写 Agent 循环”正在变成一种负债 如果你最近半年在折腾 AI Agent,大概率写过类似这样的东西:一个 while True 循环,里面塞着 LLM 调用、工具解析、结果回填、终止判断,再配上一堆 if/else 处理模型抽风、工具报…

2026/10/1 13:16:10 阅读更多 →
读懂AI排行榜:模型评测、选型与私人榜单搭建

读懂AI排行榜:模型评测、选型与私人榜单搭建

榜单这东西,我基本每天早上刷一遍。全球热门 AI 排行榜出炉的那几个小时,几个开发者群里总会热闹一阵,有人截图转发,有人开始争论排名合不合理,也有人默默把新上榜的模型加进自己的测试清单。热闹归热闹,真…

2026/10/1 13:15:10 阅读更多 →

日新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 1:01:17 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/30 13:14:22 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/30 18:13:06 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/9/30 13:14:49 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 1:01:17 阅读更多 →