Thisjavabean对象数组

This

1.概念
  • this是一个对象
  • this是一个构造函数
2.介绍
解决局部变量和成员变量命名冲突

this在面向对象-封装那一篇里,有被两个地方提及。
但我们先简单给一个例子:

public Person(String name, String phone, String qqPassword, String bankCardPassword) {this.name = name;this.phone = phone;this.qqPassword = qqPassword;this.bankCardPassword = bankCardPassword;}

这是一个构造方法,this指向new出来的那个对象
image.png
image.png
而set方法中,是调用setName的那个对象
image.png
那么就会出现成员变量和局部变量命名冲突,this就是去解决这个问题的
image.png

构造方法互相调用

this是可以代表构造方法的,如何使用呢?
在某一个构造方法中调用另一个构造方法,一定要将this写在构造方法的第一行。
image.png

javabean

1.概念

javaBean 是指符合特定约定的 Java 类
JavaBean 是一种可重用组件,主要用于构建企业级应用程序,数据之间的传递。
(1)类必须是具体的(非抽象 abstract)和公共的,public class 类名
(2)并且具有无参数的构造方法,有参构造方法
(3)所有成员变量私有化,并提供用来操作成员变量的set 和get 方法。
建议在测试的过程中重写toString。

2.快速生成

如果现在我们要生成学生的属性有:

  • 学号
  • 姓名
  • 年级
  • 年龄

一般我们可以现场定义变量,但javabean让我们可以快速生成。
我们首先需要自己编写好类,属性定义为private。
然后,使用idea快速生成getter&setter。
image.png
image.png

3.例子

下面这段代码定义了一个名为Student的类,该类包含了私有属性sNo(学号)、age(年龄)、sName(姓名)、grade(年级)和sClass(班级),并提供了对这些属性的获取和设置方法。
类中包含了两个构造方法,一个无参构造方法和一个带有参数的构造方法,用于初始化Student对象的属性。
除了构造方法外,类中还包含了一系列的getter和setter方法,用于获取和设置私有属性的值。
通过这个Student类,可以创建学生对象,并对学生对象的属性进行操作。

public class Student {private String sNo;// 学号private int age;private String sName;//姓名private int grade; // 年级private int sClass; //班级public Student(String sName) {this.sName = sName;this.sNo = "Default"; // 默认学号this.age = 0; // 默认年龄this.grade =0; // 默认年级this = 0; // 默认班级
}public Student(String sNo, int age, String sName, int grade, int sClass) {this.sNo = sNo;this.age = age;this.sName = sName;this.grade = grade;this.sClass = sClass;}public String getsNo() {return sNo;}//获取属性public void setsNo(String sNo) {this.sNo = sNo;}//定义属性public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getsName() {return sName;}public void setsName(String sName) {this.sName = sName;}public int getGrade() {return grade;}public void setGrade(int grade) {this.grade = grade;}public int getsClass() {return sClass;}public void setsClass(int sClass) {this.sClass = sClass;}    
}

在上文中的这里
image.png
也许一些读者会有疑问,会不会发生冲突。
在Java中,构造方法的重载是允许的,即可以有多个构造方法,只要它们的参数列表不同。在这种情况下,public Student(String sNo, int age, String sName, int grade, int sClass) 和 public Student(String sName) 两个构造方法的参数列表是不同的,因此不会产生冲突。
当你调用new Student(“zs”)时,会调用public Student(String sName)构造方法,当你调用new Student(“123456”, 20, “张三”, 1, 2)时,会调用public Student(String sNo, int age, String sName, int grade, int sClass)构造方法。因为它们的参数列表不同,所以不会发生冲突。

对象数组

1.引入

数组较为单一,我们可以想一下如果使用数组来描述一个班级,该如何描述?
其中属性就较多:

  • 班级的名字
  • 教师 【1个】
  • 班主任 【1个】
  • 学生 【多个】 -----》 数组中装一个一个的学生对象! -----》 对象数组

还要记录他们的行为等,退学,转学,什么的。
image.png
这里就要用到对象数组。

2.语法

我们该如何定义呢?
首先复习下数组的定义:

//类型[] 数组名 = new 类型[数组的长度];int[] arr = new int[5]

那么如果要用数组来描述学生该如何:

String[] arr = new String[5];
//首先定义了一个string类型长度为5的数组arrStudent[] arr = new Student[5];
//后定义一个长度为5的Student类型的数组arr
import bean.Student;//上文javabean里的例子public class StudentTest {public static void main(String[] args) {// 招生Student zs = new Student("张三");Student ls = new Student("李四");// 声明一个数组装学生Student[] class420 = new Student[2];class420[0] = zs;class420[1] = ls;System.out.println(Arrays.toString(class420));}
}

希望各位读者大大一键三连!!!

image.png

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

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

相关文章

豆瓣评分9.6,这本书不看损失巨大!

点击上方△腾阳 关注 转载请联系授权 这些年,我就像是个热心向导,逢人就劝读那本《毛泽东选集》。 结果呢?有人一听就摆手,笑言:“哎呀,那书太高大上了,咱啃不动啊!” 特别是咱们…

WEB编程-了解Tomcat服务器

第⼀章⽹络编程 1.1 概述 计算机⽹络:是指将地理位置不同的具有独⽴功能的多台计算机及其外部设备,通过通信线路连接起来,在⽹络 操作系统、⽹络管理软件及⽹络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。 …

智慧矿山建设规划方案(121页Word)

智慧矿山建设项目方案摘要 一、项目背景及现状分析 项目背景 随着信息技术的迅猛发展,智慧化、数字化已成为矿山行业转型升级的必然趋势。智慧矿山建设项目旨在通过集成先进的信息技术手段,实现对矿山生产、管理、安全等全过程的智能化监控与管理&…

SpringBoot新手快速入门系列教程四:创建第一个SringBoot的API

首先我们用IDEA新建一个项目,请将这些关键位置按照我的设置设置一下 接下来我将要带着你一步一步创建一个Get请求和Post请求,通过客户端请求的参数,以json格式返回该参数{“message”:"Hello"} 1,先在IDE左上角把这里改为文件模式…

G9 - ACGAN理论与实战

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 目录 环境步骤环境设置数据准备工具方法模型设计模型训练模型效果展示 总结与心得体会 上周已经简单的了解了ACGAN的原理,并且不经实践的编写了部分…

python如何设计窗口

PyQt是一个基于Qt的接口包,可以直接拖拽控件设计UI界面,下面我简单介绍一下这个包的安装和使用,感兴趣的朋友可以自己尝试一下: 1、首先,安装PyQt模块,这个直接在cmd窗口输入命令“pip install pyqt5”就行…

中金女员工离世悲剧:职场压力、心理健康与社会支持的深刻反思

中金女员工离世背后的深思 2024年7月1日,一则令人痛心的消息在金融界乃至整个网络迅速传播:中金公司一位年仅30岁的女员工郑某露,在降薪和房贷的双重压力下,不幸离世。这一事件不仅让她的家人和朋友陷入了深深的悲痛之中,也引发了社会各界对职场环境、个体心理健康以及社…

使用块的网络 VGG

一、AlexNet与VGG 1、深度学习追求更深更大,使用VGG将卷积层组合为块 2、VGG块:3*3卷积(pad1,n层,m通道)、2*2最大池化层 二、VGG架构 1、多个VGG块后接全连接层 2、不同次数的重复块得到不同的架构&a…

工作手机怎么做好业务员工作微信的监控管理

什么是工作手机管理系统? 工作手机管理系统是专为企业管理设计的员工微信管理,它通过监控通讯记录、保障数据安全、自动检测敏感行为、永久保留客户信息等功能,帮助企业提升销售效率、维护客户资源安全,并确保业务流程的合规性。…

NASA和IBM推出INDUS:高级科学研究的综合大模型

在最近的一项研究中,来自美国宇航局和IBM的一组研究人员合作开发了一种模型,该模型可应用于地球科学,天文学,物理学,天体物理学,太阳物理学,行星科学和生物学以及其他多学科学科。当前的模型&am…

DP:二维费用背包问题

文章目录 🎵二维费用背包问题🎶引言🎶问题定义🎶动态规划思想🎶状态定义和状态转移方程🎶初始条件和边界情况 🎵例题🎶1.一和零🎶2.盈利计划 🎵总结 &#x1…

机器人具身智能Embodied AI

强调智能体(如机器人)通过物理身体在物理世界中的实时感知、交互和学习来执行任务。 通过物理交互来完成任务的智能系统。它由“本体”(即物理身体)和“智能体”(即智能核心)耦合而成,能够在复…

taoCMS v3.0.2 任意文件读取漏洞(CVE-2022-23316)

前言 CVE-2022-23316 是一个影响 taoCMS v3.0.2 的漏洞。这个漏洞允许攻击者通过 admin.php?actionfile&ctrldownload&path../../1.txt 的路径读取任意文件。攻击者可以利用该漏洞读取服务器上的任何文件,只要他们知道文件的路径​ (OpenCVE)​​ (Tenabl…

亚马逊跟卖ERP的自动调价功能,能够简易地批量设置价格规则。

跟卖的智能调价 跟卖智能调价简单说是可以上调,下调就是怎么说?上调就是它根靠根据市场最低的价格情况进行去上调。 然后添加指定条件,到工具栏找到指定条件,点击添加指定条件。 然后选择店铺,比如选择店铺&#xf…

微信⼩程序的电影推荐系统-计算机毕业设计源码76756

摘 要 随着互联网的普及和移动互联网的发展,人们对于获取信息的便捷性和高效性要求越来越高。电影作为一种受众广泛喜爱的娱乐方式,电影推荐系统的出现为用户提供了更加个性化和精准的电影推荐服务。微信小程序作为一种轻量级应用形式,在用户…

算法题-回文子串和最长回文子序列

算法题-回文子串和最长回文子序列 一、647. 回文子串二、516. 最长回文子序列 一、647. 回文子串 中等 给你一个字符串 s ,请你统计并返回这个字符串中 回文子串 的数目。 回文字符串 是正着读和倒过来读一样的字符串。 子字符串 是字符串中的由连续字符组成的一个…

qt 如果把像素点数据变成一个图片

1.概要 图像的本质是什么&#xff0c;就是一个个的像素点&#xff0c;对与显示器来说就是一个二维数组。无论多复杂的图片&#xff0c;对于显示器来说就是一个二维数组。 2.代码 #include "widget.h"#include <QApplication> #include <QImage> #incl…

Java对象通用比对工具

目录 背景 思路 实现 背景 前段时间的任务中&#xff0c;遇到了需要识别两个对象不同属性的场景&#xff0c;如果使用传统的一个个属性比对equals方法&#xff0c;会存在大量的重复工作&#xff0c;而且为对象新增了属性后&#xff0c;比对方法也需要同步修改&#xff0c;不方…

node的下载、安装、配置和使用(node.js下载安装和配置、npm命令汇总、cnpm的使用)

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。 愿将腰下剑,直为斩楼兰。 ——《塞下曲》 文章目录 一、node.js的下载、安装和配置1. node.js下…

集智书童 | 英伟达和斯坦福基于 Transformer 的异常检测最新研究!

本文来源公众号“集智书童”&#xff0c;仅用于学术分享&#xff0c;侵权删&#xff0c;干货满满。 原文链接&#xff1a;英伟达和斯坦福基于 Transformer 的异常检测最新研究&#xff01; 在作者推动各种视觉任务性能边界的同时&#xff0c;模型的大小也在相应增长。为了跟上…