欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > IT业 > Thisjavabean对象数组

Thisjavabean对象数组

2024/10/24 15:15:57 来源:https://blog.csdn.net/xiaoyu070321/article/details/140235973  浏览:    关键词: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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com