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; } }