Java入门教程(29)——封装

news2025/4/27 17:22:29

封装是面向对象三大特征之一。

文章目录

  • 1.封装的特性
  • 2.封装的作用
  • 3.访问控制符
  • 4.实例

1.封装的特性

高内聚、低耦合

2.封装的作用

  1. 提高代码的安全性。
  2. 提高代码的复用性。
  3. 高内聚:封装细节,便于修改内部代码,提高可维护性。
  4. 低耦合”:简化外部调用,便于调用者使用,便于扩展和协作。

3.访问控制符

在这里插入图片描述
补充:

  1. 若父类和子类在同一个包中,子类可访问父类的 protected 成员,也可访问父类对象的
    protected 成员。
  2. 若子类和父类不在同一个包中,子类可访问父类的 protected 成员,不能访问父类对象
    的 protected 成员。
  3. 属性一般使用 private 访问权限。
    3.1. 属性私有后, 提供相应的 get/set 方法来访问相关属性,这些方法通常是
    public 修饰的,以提供对属性的赋值与读取操作。

4.实例

public class Test{

        // 属性一般使用 private 修饰
        private String name;
        private int age;
    // 为属性提供 public 修饰的 set/get 方法
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

我们使用Idea开发工具时候可以不用手敲代码,自动生成即可:
如下:
1.在private下右击,点击Generate

在这里插入图片描述
2.点击Getter and Setter

在这里插入图片描述

3.ctrl将两个都选中,点击OK

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/87840.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux常用目录操作及示例操作

文章目录一、常用权限操作1.1 常用权限操作1. chgrp命令2. chown命令3. chmod命令1.2 权限操作实战任务1 创建文件,设置其用户组任务2 修改文件的所有者任务3 修改文件操作权限二、常用目录操作2.1 常用目录操作2.2 目录操作实战任务1 获取命令帮助信息任务2 查看当…

IBM有望在2026年之前实现量子优势

(图片来源:网络) 目前,噪声是量子计算面临的最大挑战,限制了量子计算技术的快速发展。在未来几年内,IBM正努力通过各种类型的量子误差管理来减少噪声,直到实现真正的量子纠错 (QEC)。 这也是降低…

ANSYS Topology Optimization拓扑优化技术在轻量化设计应用概述

产品概念设计初期,单纯的凭借经验以及想象对零部件进行设计往往是不够的,在适当约束条件下,如果能充分利用“拓扑优化技术”进行分析,并结合丰富的产品设计经验,是有能力设计出更满足产品结构技术方案、工艺要求、而且…

通俗易懂的Redis数据结构基础教程

Redis有5个基本数据结构,string、list、hash、set和zset。它们是日常开发中使用频率非常高应用最为广泛的数据结构,把这5个数据结构都吃透了,你就掌握了Redis应用知识的一半了。 string 首先我们从string谈起。string表示的是一个可变的字节…

操作系统中的线程

我的GitHub:Powerveil GitHub 我的Gitee:Powercs12 (powercs12) - Gitee.com 皮卡丘每天学Java 进程就是 任务,跑起来的程序 系统使用 PCB 描述进程,使用双向链表来管理进程 进程存在的意义就是让操作系统可以同时执行多个任务&…

(node中)module.exports 和exports的区别

(node中使用)module.exports 和exports的区别是什么? 用一句话来说明就是,require只会去引用module.exports这个对象的导出,不会引用exports对象的,而我们在编写模块时(初始化)用到的exports对…

微服务框架 SpringCloud微服务架构 分布式缓存 44 Redis 分片集群 44.4 故障转移

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 分布式缓存 文章目录微服务框架分布式缓存44 Redis 分片集群44.4 故障转移44.4.1 故障转移44.4.2 数据迁移44 Redis 分片集群 44.4 故障转移…

[附源码]Python计算机毕业设计高等数学在线学习平台Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等…

零基础怎么学Python?要学多久?

首发内容,希望从各个角度为大家解答Python的学习方向,能够帮助更多入门的同学们。 一、为什么学Python 是因为铺天盖地的广告还是要转行,有本职工作希望自动化办公还是爱好? (1)有本职工作觉得应该学Pyt…

你一定要了解的NAT工作原理

大家好,我是技福的小咖老师。 前两天给大家分享了NAT策略问题的23个问题,有朋友私信我,想再普及一下NAT基础知识。今天咱们就来复习下NAT的工作原理。 随着网络应用的增多,IPv4地址枯竭的问题越来越严重。尽管IPv6可以从根本上解…

mybatis06:Mybatis注解开发

目录 1 MyBatis的常用注解 1.1注解完成基本的crud 例题演示 1.2mybatis的注解复杂查询映射开发 例题演示 1 MyBatis的常用注解 这几年来注解开发越来越流行,Mybatist也可以使用注解开发方式,这样我们就可以减少编写Mapper映射文件了。我们先用绕一些基…

mongoDB使用总结

windows安装 zip压缩包方式安装 下载 注意:因为现在最新版的mongodb不兼容win7,对windows系统的最低要求是win10。所以win7系统要安装mongodb数据库必须考虑使用旧版安装。 Download MongoDB Community Server | MongoDB 解压 将压缩包解压放在指定位置&#x…

世界杯,来一起“唠嗑”呀!

自人类诞生起,娱乐与社交便是融入群体、参与群体行动的“必需品”。娱乐与社交的结合使得人们更加容易找寻同类、拉近同类关系,而四年一届的世界杯正是娱乐与社交的完美融合体。作为全球最富影响力的体育赛事之一,每一届世界杯都影响着全球几…

thinkphp中 Db::query()和Db::name()区别 $db->query($sql); ->相当于访问类里面的方法

Db::query()是原生sql查询。 例如 Db::query(“select * from cmf_user where id9”); Db::name()是thinkphp基于原生sql二次封装的sql查询。 例如Db::name(‘user’)->where(‘id’,9)->find(); db是一个实例化好的数据库类,query是这个类里面的一个方法&am…

PMP每日一练 | 考试不迷路-12.14(包含敏捷+多选)

被延期考试的宝子 一定要坚持刷题 每日5道PMP习题助大家上岸PMP! ​题目1-2: ​1.一位主要相关方要求将每日站立会议的持续时间人15分钟增加到1小时。Scrum主管应该做什么? ( ) A.接受建议并建议团队更改会议时间表 B.安排与产品负责人和团队…

内网穿透用什么软件好?本地设置内网端口映射到外网访问

我们经常听到有人说在用内网穿透工具,那么内网穿透工具有什么作用呢?内网穿透工具的作用是将本地内网服务器和应用提供到互联网上连接访问,可以解决在无公网IP条件下跨网互通互连问题。比如在家远程办公,访问公司内部办公OA服务器…

Socket.IO与Atmosphere比较

最近接到一个新需求,前后端保持状态连接,实现动态刷新的效果。那第一个想到的就是websocket,但是websocket我们知道有一个缺陷就是兼容性比较差(如下图红色表示不兼容的浏览器版本),受网络限制比较大。 我…

常考vue面试题(附答案)

Vue生命周期钩子是如何实现的 vue的生命周期钩子就是回调函数而已,当创建组件实例的过程中会调用对应的钩子方法内部会对钩子函数进行处理,将钩子函数维护成数组的形式 Vue 的生命周期钩子核心实现是利用发布订阅模式先把用户传入的的生命周期钩子订阅好…

2022年山东建筑安全员考试真题题库及答案

百分百题库提供建筑安全员考试试题、安全员证考试真题、安全员证考试题库等,提供在线做题刷题,在线模拟考试,助你考试轻松过关。 142.施工现场内的()等机械设备,以及钢脚手架和正在施工的在建工程等的金属结构,当在相邻建筑物、构筑物等设施防雷装置接闪…

C++ Reference: Standard C++ Library reference: Containers: map: map: clear

C官网参考链接&#xff1a;https://cplusplus.com/reference/map/map/clear/ 公有成员函数 <map> std::map::clear C98 void clear(); C11 void clear() noexcept;清除内容 从map容器中删除所有元素&#xff08;已销毁&#xff09;&#xff0c;使容器的size为0。 形参 …