当前位置: 首页 > news >正文

java的封装

为什么要封装?在java的面向对象的思想中,封装是指将类的实现细节包装,隐藏起来的方法。封装可以防止本类的代码和数据被外部定义的代码随机访问。

如何进行封装?

在定义一个类时,将类中的属性私有化,即使用private关键字修饰类的属性。私有属性只能在它所在的类被访问,外界想要访问私有属性,需要提供一些使用public修饰的公共方法,比如获取属性值的getXxx方法,设置属性值的setXxx()方法

示例代码如下

class Student1{private String name;private int age;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){System.out.println("您输入的年龄有误!");}else{this.age=age;}}public void read(){System.out.println("大家好,我是"+name+",年龄"+age);}
}public class Fengzhuang {public static void main(String[] args) {Student1 stu=new Student1();stu.setName("张三");stu.setAge(-18);stu.read();}}

这里把age和name两个属性进行封装。

相关文章:

java的封装

为什么要封装&#xff1f;在java的面向对象的思想中&#xff0c;封装是指将类的实现细节包装&#xff0c;隐藏起来的方法。封装可以防止本类的代码和数据被外部定义的代码随机访问。 如何进行封装&#xff1f; 在定义一个类时&#xff0c;将类中的属性私有化&#xff0c;即使…...

为什么选择海外服务器?

如何选择跨境电商服务器&#xff1a;详细指南 选择合适的服务器是跨境电商企业成功的基础。服务器的性能和稳定性直接影响着网站的访问速度、用户体验和安全性&#xff0c;进而影响着企业的销量和利润。那么&#xff0c;跨境电商企业该如何选择服务器呢&#xff1f; 1. 确定目…...

k8s+springcloud+nacos部署配置

1 k8s 部署nacos-2.1.2配置k8s-nacos-statefulSet.yaml文件 apiVersion: v1 kind: Service metadata:name: nacos-headlessnamespace: rz-dtlabels:app: nacosannotations:service.alpha.kubernetes.io/tolerate-unready-endpoints: "true" spec:# 3个端口打开&…...

梯度提升决策树(GBDT)

GBDT&#xff08;Gradient Boosting Decision Tree&#xff09;&#xff0c;全名叫梯度提升决策树&#xff0c;是一种迭代的决策树算法&#xff0c;又叫 MART&#xff08;Multiple Additive Regression Tree&#xff09;&#xff0c;它通过构造一组弱的学习器&#xff08;树&am…...

数据结构之B树的原理与业务场景

B树是一种自平衡的树形数据结构&#xff0c;它能够保持数据有序&#xff0c;并且可以高效地进行查找、顺序访问、插入和删除操作。B树的设计是为了优化磁盘I/O操作&#xff0c;因为它可以减少磁盘访问次数&#xff0c;这在数据库和文件系统中非常有用。 1. B树的原理 节点的出…...

【Android面试八股文】你能说一说线程池管理线程的原理吗?

面试官(Interviewer): 欢迎参加面试,今天我们会讨论一些关于 Java 线程池管理的问题。你能给我解释一下 ThreadPoolExecutor 是如何管理线程的吗? 候选人(Candidate): 当然可以,ThreadPoolExecutor 是 Java 中用于创建和管理线程池的核心类。它通过一组核心参数来控制线…...

springer 在线投稿编译踩坑

springer投稿&#xff0c;在线编译踩坑总结 注意&#xff1a; 有的期刊需要双栏&#xff0c;而预定义的模板中可能为单栏&#xff0c;需要增加iicol选项。 例如&#xff1a; \documentclass[sn-mathphys-num]{sn-jnl}% —>\documentclass[sn-mathphys-num, iicol]{sn-jnl}…...

固态硬盘的指标

固态硬盘的指标主要包括以下几个方面&#xff1a; 接口类型&#xff1a;这是固态硬盘与外部设备连接的方式&#xff0c;常见的接口类型有SATA、PCIe和NVMe等。不同的接口类型决定了固态硬盘的传输速度和性能。例如&#xff0c;PCIe接口的固态硬盘通常比SATA接口的固态硬盘具有…...

mysql 分组后每个取最新的一条记录

在MySQL中&#xff0c;若要从一个分组中获取每组的最新一条记录&#xff08;通常基于时间戳或其他递增的列&#xff09;&#xff0c;可以使用子查询或者窗口函数&#xff08;如果MySQL版本支持&#xff09;。 以下是两种不同的实现方法&#xff1a; 方法1: 使用子查询和LIMIT…...

Java语法和基本结构介绍

Java语法和基本结构是Java编程的基础&#xff0c;它决定了Java代码的书写方式和程序的结构。以下是Java语法和基本结构的一些关键点&#xff1a; 1.标识符和关键字&#xff1a;Java中的标识符是用来标识变量、函数、类或其他用户自定义元素的名称。关键字是预留的标识符&#x…...

TDengine 3.3.0.0 引入图形化管理工具、复合主键等 13 项关键更新

在涛思数据研发团队的努力下&#xff0c;TDengine 3.3.0.0 版本终于和大家见面了。这一版本中&#xff0c;我们引入了多项革新功能和性能优化&#xff0c;力求在为用户提供极致体验的同时&#xff0c;不断推动技术的前沿。 此次更新不仅针对开源社区版本&#xff0c;进行了一系…...

C++基础之红黑树

二叉搜索树 二叉搜索树&#xff08;Binary Search Tree&#xff0c;BST&#xff09;是一种二叉树&#xff0c;具有以下性质&#xff1a; 左子树节点值小于根节点值&#xff1a;对于树中的每个节点 x&#xff0c;其左子树中所有节点的值都小于 x 的值。右子树节点值大于根节点值…...

ClickHouse数据库对比、适用场景与入门指南

本文全面对比了ClickHouse与其他数据库&#xff08;如StarRocks、HBase、MySQL、Hive、Elasticsearch等&#xff09;的性能、功能、适用场景&#xff0c;并提供了ClickHouse的教学入门指南&#xff0c;旨在帮助读者选择合适的数据库产品并快速掌握ClickHouse的使用。 文章目录 …...

举例说明 如何通过SparkUI和日志定位任务莫名失败?

有一个Task OOM&#xff1a; 通过概览信息&#xff0c;发现Stage 10的Task 36失败了4次导致Job失败。概览信息中显示最后一次失败的退出代码&#xff08;exit code&#xff09;是143&#xff0c;意味着发生了内存溢出&#xff08;OOM&#xff0c;即Out of Memory&#xff09;。…...

Vue前端通过Axios的post方式传输数据,后端为什么一直接收的值是null?

沃靠!这个细节太细了,搞了我两个多小时才找到这个bug。 一、 首先官方文档给我的post请求的例子是这样的: axios.post(/user, {firstName: Fred,lastName: Flintstone}).then(function (response) {console.log(response);}).catch(function (error) {console.log(error);})…...

外链建设如何进行?

理解dofollow和nofollow链接&#xff0c;所谓dofollow链接&#xff0c;就是可以传递权重到你的网站的链接&#xff0c;这种链接对你的网站排名非常有帮助&#xff0c;这种链接可以推动你的网站在搜索结果中的位置向上爬&#xff0c;但一个网站全是这种有用的链接&#xff0c;反…...

深入理解Java正则表达式及其应用

正则表达式是一种强大的文本匹配和处理工具&#xff0c;可以在字符串中查找、替换、提取符合特定模式的内容。Java作为一种广泛应用的编程语言&#xff0c;提供了丰富的正则表达式支持。本文将深入探讨Java正则表达式的基本概念、语法以及常见应用场景&#xff0c;帮助读者全面…...

Gstreamer学习3----灌数据给管线之appsrc

参考资料 Basic tutorial 8: Short-cutting the pipeline gstreamer向appsrc发送帧画面的代码_gst appsrc可变帧率-CSDN博客 在官网教程Basic tutorial 8: Short-cutting the pipeline 里面&#xff0c;讲了一个例子&#xff0c;push音频数据给管线&#xff0c;视频的例子更…...

【深度学习量化交易1】一个金融小白尝试量化交易的设想、畅享和遐想

关注我的朋友们可能知道&#xff0c;我经常在信号处理的领域出没&#xff0c;时不时会发一些信号处理、深度学习科普向的文章。 不过算法研究久了&#xff0c;总想做一些更有趣的事情。 比如用深度学习算法赚大钱。。毕竟有什么事情能比暴富更有意思呢。 一、神经网络与彩票…...

【0基础学爬虫】爬虫基础之自动化工具 DrissionPage 的使用

概述 前三期文章中已经介绍到了 Selenium 与 Playwright 、Pyppeteer 的使用方法&#xff0c;它们的功能都非常强大。而本期要讲的 DrissionPage 更为独特&#xff0c;强大&#xff0c;而且使用更为方便&#xff0c;目前检测少&#xff0c;强烈推荐&#xff01;&#xff01;&a…...

嵌入式串口协议中间件:轻量级SerHelp库设计与应用

1. 项目概述nahs-Bricks-Lib-SerHelp是 NAHS&#xff08;North American Home System&#xff09;生态中面向嵌入式砖块化&#xff08;Brick-based&#xff09;硬件平台的一套轻量级串行通信辅助库。该库不提供底层驱动实现&#xff0c;而是聚焦于串口协议层的工程化封装与通用…...

别再花钱买云API了!手把手教你用Docker+Ollama在本地免费跑通Strix渗透测试

零成本打造企业级渗透测试环境&#xff1a;DockerOllama本地化实战指南 当安全团队每月收到云服务商五位数的API账单时&#xff0c;当关键测试任务因网络抖动被迫中断时&#xff0c;越来越多的技术决策者开始重新审视渗透测试的基础架构。本文将揭示如何用消费级硬件构建媲美商…...

FPGA调试避坑指南:Vivado ILA采样深度和探针位宽怎么设?资源占用与调试效果的平衡术

FPGA调试实战&#xff1a;ILA采样深度与探针位宽的黄金平衡法则 当你在Artix-7芯片上调试一个包含32位计数器和多状态机的设计时&#xff0c;突然发现ILA吃掉了一半的Block RAM资源&#xff0c;而采样深度却只够捕获5个时钟周期的数据——这种场景是否似曾相识&#xff1f;本文…...

GIS开发必备:5分钟搞定EPSG3857转WGS84坐标转换(附proj4.js完整代码)

GIS开发实战&#xff1a;从原理到代码实现EPSG3857与WGS84的高效坐标转换 刚接触WebGIS开发的工程师们&#xff0c;常常会被各种坐标系搞得晕头转向。为什么高德地图上显示的位置和GPS设备采集的数据对不上&#xff1f;为什么Leaflet、OpenLayers这些库加载的瓦片地图坐标数值大…...

5分钟搞懂3GPP NTN标准:从Release16到19的关键技术演进与实战应用

5分钟搞懂3GPP NTN标准&#xff1a;从Release16到19的关键技术演进与实战应用 当全球通信行业将目光投向低轨卫星星座与高空平台时&#xff0c;3GPP的NTN&#xff08;非地面网络&#xff09;标准正在重塑连接边界。本文将以工程师视角&#xff0c;带您穿透技术文档迷雾&#xf…...

Null 安全的 BigDecimal 比较器

本文旨在解决这个问题 Java 中对包含 BigDecimal 排序类型对象列表时&#xff0c;如何处理可能出现的空指针异常。自定义 BigDecimal 并结合比较器 Comparator.nullsFirst 可以实现正确的方法 BigDecimal 空值安全排序字段&#xff0c;避免程序崩溃&#xff0c;确保排序结果的正…...

Phi-4-Reasoning-Vision行业落地:教育领域图像题解与隐藏线索识别案例

Phi-4-Reasoning-Vision行业落地&#xff1a;教育领域图像题解与隐藏线索识别案例 1. 项目背景与价值 在教育领域&#xff0c;图像题解和隐藏线索识别一直是教学和考试中的难点。传统方法依赖人工标注和分析&#xff0c;效率低下且容易遗漏关键信息。Phi-4-Reasoning-Vision多…...

Agent 性能优化:降低 Token 消耗的 5 个技巧

Agent 性能优化&#xff1a;降低 Token 消耗的 5 个技巧系列文章&#xff1a; 《AI Agent 开发实战》第 7 期 难度等级&#xff1a; ⭐⭐⭐⭐ 预计耗时&#xff1a; 35 分钟&#x1f3af; 本文目标 学会优化 AI Agent 性能&#xff1a; ✅ 减少 Token 消耗✅ 提高响应速度✅ 降…...

Miniconda环境迁移实战:如何将CentOS装好的Python环境打包到其他服务器?

Miniconda环境迁移实战&#xff1a;跨服务器Python环境无缝转移指南 当你在CentOS服务器上精心配置了一个完美的Python数据分析环境&#xff0c;却需要在另一台服务器上复现时&#xff0c;难道要重新经历一遍繁琐的安装过程&#xff1f;本文将揭示两种高效可靠的Miniconda环境迁…...

告别手动复制!用ArcGIS字段计算器(VB/Python)批量提取字段值的保姆级教程

ArcGIS字段计算器实战指南&#xff1a;VB与Python高效提取字段值的深度对比 在GIS数据处理工作中&#xff0c;属性表字段值的部分提取是最常见却又最耗时的操作之一。想象一下&#xff0c;当你面对一个包含上万条记录的"BSM"字段&#xff0c;需要提取前6位作为行政区…...