| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- package exericse.exericse02;
- /**
- * @author WanJl
- * @version 1.0
- * @title Student
- * @description 学生类
- * @create 2026/7/29
- */
- public class Student {
- // 属性
- private String name; // 姓名
- private Integer age; // 年龄(使用包装类)
- private String studentId; // 学号
- /**
- * 无参构造方法
- */
- public Student() {
- }
- /**
- * 全参构造方法
- * @param name 姓名
- * @param age 年龄
- * @param studentId 学号
- */
- public Student(String name, Integer age, String studentId) {
- this.name = name;
- this.age = age;
- this.studentId = studentId;
- }
- // ========== Getter 和 Setter 方法 ==========
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public Integer getAge() {
- return age;
- }
- public void setAge(Integer age) {
- this.age = age;
- }
- public String getStudentId() {
- return studentId;
- }
- public void setStudentId(String studentId) {
- this.studentId = studentId;
- }
- /**
- * 重写 toString 方法,方便打印对象信息
- */
- @Override
- public String toString() {
- return "Student{" +
- "name='" + name + '\'' +
- ", age=" + age +
- ", studentId='" + studentId + '\'' +
- '}';
- }
- /**
- * 重写 equals 方法,基于学号判断两个学生是否相等
- */
- @Override
- public boolean equals(Object obj) {
- if (this == obj) return true;
- if (obj == null || getClass() != obj.getClass()) return false;
- Student student = (Student) obj;
- return studentId != null && studentId.equals(student.studentId);
- }
- /**
- * 重写 hashCode 方法,基于学号生成哈希值
- */
- @Override
- public int hashCode() {
- return studentId != null ? studentId.hashCode() : 0;
- }
- }
|