第八节 构造器和this关键字、封装

news/2024/4/24 20:53:28/文章来源:https://blog.csdn.net/hanhanT/article/details/129259557

构造器的作用
定义在类中的,可以用于初始化一个类的对象,并返回对象的地址。
构造器的注意事项
1.任何类定义出来,默认就自带了无参数构造器,写不写都有。
2.一旦定义了有参数构造器,那么无参数构造器就没有了,如果还想用无参数构造器,此时就需要自己手写一个无参数构造器了。
无参数构造器:
在这里插入图片描述

有参数构造器:
在这里插入图片描述

this关键字

可以在构造器、方法中
代表当前对象的地址。
this关键字的作用:
可以用于指定访问当前对象的成员变量、成员方法。

封装

1.面向对象的三大特征:封装,继承,多态。
2.封装:告诉我们,如何正确设计对象的属性和方法。
3.封装的原则:对象代表什么,就得封装对应的数据,并提供数据对应的行为。
理解封装思想有什么好处?
让编程变得很简单,有什么事,找对象,调方法就行。
降低我们的学习成本,可以少学、少记,或者说压根不用学,不用记对象的那么多方法,有需要时去找就行。
如何进行封装更好?
)一般建议对成员变量使用private(私有、隐藏)关键字修饰进(private修饰的成员只能在当前类中访问)。
为每个成员变量提供配套public修饰的的getter、setter方法暴露其取值和赋值。
补充知识:标准javabean
也可以称为实体类,其对象可以用于在程序中封装数据。
Javabean的书写要求:
1.成员变量建议使用private私有。
2.必须为成员变量提供成套的setter和getter方法。
3.要求提供无参构造器和有参构造器都是可选的。

成员变量和局部变量的区别
在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Adversarially-Aware Robust Object Detector

目标检测作为计算机视觉的基本任务,随着深度神经网络的出现而取得了显著的进展。然而,很少有研究在各种现实场景中探索目标检测器抵抗对抗攻击的对抗鲁棒性。探测器已经受到不可察觉的扰动的极大挑战,在干净图像上的性能急剧下降,…

记录pytorch安装 windows10 64位--(可选)安装paddleseg

安装完paddlepaddle之后,就可以安装paddleseg了。一、安装Git可以参考这个网址:https://blog.csdn.net/u010348546/article/details/124280236windows下安装git和gitbash安装教程二、安装paddleseghttps://github.com/PaddlePaddle/PaddleSeg记得翻墙啊这…

Ubuntu 交叉编译工具链安装

Ubuntu 交叉编译工具链安装 1 交叉编译器安装 ARM 裸机、Uboot 移植、Linux 移植这些都需要在 Ubuntu 下进行编译,编译就需要编译器,我们在第三章“Linux C 编程入门”里面已经讲解了如何在 Liux 进行 C 语言开发,里面使用 GCC 编译器进行代…

试题 算法训练 JOE的矩阵

问题描述 最近JOE又在线性代数的模拟考中拿满分了,这直接导致了JOE对于计算矩阵的热情急剧下降,所以JOE希望能有这样一个程序能帮助他计算矩阵的秩。 输入格式 第一行,两个数n,m,表示矩阵是n*m的。   下面共n行,每行…

Airbnb(三) Managing Diversity in Airbnb Search 搜索多样性

abstract 搜索系统中一个长期的问题是结果多样性。从产品角度讲,给用户多种多样的选择,有助于提升用户体验及业务指标。 多样性需求和模型的目标是相矛盾的,因为传统ctr模型是 point wise,只看单个相关性不管相邻之间item差异。 …

设计模式-笔记

文章目录七大原则单例模式桥模式 bridge观察者模式 observer责任链模式 Chain of Responsibility命令模式 Command迭代器模式 Iterator中介者模式 Mediator享元模式 Flyweight Pattern组合模式 composite装饰模式 Decorator外观模式 Facade简单工厂模式工厂方法模式工厂抽象模式…

数学小课堂:无穷小(平均速度和瞬间速度的关系)

文章目录 引言I 速度1.1 平均速度1.2 瞬间速度(某一时刻特定的速度)1.3 解释飞箭是静止的悖论II 导数2.1 概念2.2 导数的现实影响2.3 微积分的意义III 无穷小3.1 贝克莱挑战牛顿(无穷小悖论)3.2 无穷小的定义引言 柯西和魏尔斯特拉斯给出的无穷小的定义: 它不是零;它的绝对…

【GUI】Robo 3T(Studio 3T Free) for Mongodb安装与使用教程

下载 robo 3T现已更名为studio 3T free,官网即可下载 studio 3T free下载地址 安装 mac电脑下载的是dmg安装包,直接正常安装即可,windows电脑也是一样的,不需要配置环境,安装即可使用。(前提是你已经安装…

什么是接口测试,我们如何实现接口测试?

1. 什么是接口测试 顾名思义,接口测试是对系统或组件之间的接口进行测试,主要是校验数据的交换,传递和控制管理过程,以及相互逻辑依赖关系。其中接口协议分为HTTP,WebService,Dubbo,Thrift,Socket等类型,测试类型又主…

SkyWalking简介和安装

APM系统 早期的监控系统功能比较单一,主要以监控CPU、内存、网络、I/O等基础设置为主(cacti、nagios) 后来随着中间件技术的不断发展,监控系统也开始监控缓存、数据库、MQ等各种基础组件的性能(zabbix、prommethus&a…

【MinIO】文件断点续传和分块合并

【MinIO】文件断点续传和分块合并 文章目录【MinIO】文件断点续传和分块合并0. 准备工作1. 检查文件是否存在1.1 定义接口1.2 编写实现方法2. 检查分块文件是否存在2.1 定义接口2.2 编写实现方法3. 上传分块文件接口3.1 定义接口3.2 编写实现方法4. 合并分块文件接口4.1 定义接…

Python - Opencv应用实例之CT图像检测边缘和内部缺陷

Python - Opencv应用实例之CT图像检测边缘和内部缺陷 将传统图像处理处理算法应用于CT图像的边缘检测和缺陷检测,想要实现效果如下: 关于图像处理算法,主要涉及的有:灰度、阈值化、边缘或角点等特征提取、灰度相似度变换,主要偏向于一些2D的几何变换、涉及图像矩阵的一些统…

java中使用protobuf总结

基本没怎么接触过java编程,别的团队发过来一个用java编写的存储pb的文件,让拆分和解析,硬着头皮做一下,在此将步骤做个记录:下载安装protobufhttps://github.com/protocolbuffers/protobuf/tags?afterv3.6.1.2编译pro…

AI/CV大厂笔试LeetCode高频考题之基础核心知识点

AI/CV互联网大厂笔试LeetCode高频考题之基础核心知识点算法复习1、二叉树的遍历2、回溯算法3、二分搜索4、滑动窗口算法题5、经典动态规划6、动态规划答疑篇6.1、总结一下如何找到动态规划的状态转移关系7、编辑距离8、戳气球问题9、最长公共子序列 Longest Common Subsequence…

系统性能测试指标

性能测试的目的 1.评估系统的能力,测试中得到的负荷和响应时间数据可以被用于验证所计划的模型的能力,并帮助作出决策。 2.识别体系中的弱点:受控的负荷可以被增加到一个极端的水平,并突破它,从而修复体系的瓶颈或薄…

兴达易控Modbus转Profinet网关将丹佛斯变频器接入西门子1200PLC配置案例

案例简介: 本案例是兴达易控Modbus转Profinet网关连接丹佛斯变频器在西门子1200PLC程序控制实例,实现对变频器频率读写,及工作模式切换。 用到的设备为西门子1200PLC一台,丹佛斯变频器一台,兴达易控Modbus转Profinet网关一个 Modb…

OSPF -- (开放式最短路径优先协议)(公共协议)

OSPF -- (开放式最短路径优先协议)(公共协议) 1、属性:无类别链路状态IGP协议 无类别:更新携带精确掩码 链路状态:共享拓扑(共享LSA)本地计算路由IGP: 基于…

读取/etc/profile时发现错误:

读取/etc/profile时发现错误: /etc/profile:行XX:***************** /etc/profile:行XX:***************** 今天遇到这个错误,发现是首行被我编辑时删错了一个符号导致报错,导致每次开机都会报这个文件错误&#xff0…

SpringBoot解决跨域方式

跨域是指在 Web 应用中,一个服务器资源或应用访问另一个服务器资源或应用的资源时候。由于浏览器的同源策略,一般情况下同一个域中的网站或应用可以互相访问资源,但跨域访问会被浏览器拒绝。浏览器出于安全考虑,会限制跨域访问&am…

Jmeter性能测试 入门

Jmeter是一款优秀的开源测试工具, 是每个资深测试工程师,必须掌握的测试工具,熟练使用Jmeter能大大提高工作效率。 熟练使用Jmeter后, 能用Jmeter搞定的事情,你就不会使用LoadRunner了。 我将会覆盖Jmeter的各个功能…