Week 1-8: Spring Boot 学习计划完整项目

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-04-29 23:45:17 +08:00
commit f95aa18724
201 changed files with 18595 additions and 0 deletions

117
week1/day05/Student.java Normal file
View File

@@ -0,0 +1,117 @@
package day05;
/**
* 第 5 天:面向对象(上)—— 类与对象、封装
* 目标:掌握如何定义一个类,如何创建和使用对象
*
* 重点:
* private 成员变量 + public getter/setter = 封装
* 构造方法 = 初始化对象的快捷方式
* this = 区分成员变量和局部变量
*/
// ==================== Student 类定义 ====================
class Student {
// 1. 私有成员变量(封装:外部不能直接访问)
private String name;
private int age;
private String studentId; // 学号
// 2. 构造方法(与类同名,无返回值)
// 无参构造
public Student() {
this.name = "未知";
this.age = 0;
this.studentId = "未分配";
}
// 有参构造(支持创建对象时直接赋值)
public Student(String name, int age, String studentId) {
this.name = name;
this.age = age;
this.studentId = studentId;
}
// 3. Getter / Setter公开的访问入口
public String getName() {
return name;
}
public void setName(String name) {
// 可以在 setter 里加校验逻辑
if (name == null || name.trim().isEmpty()) {
System.out.println("⚠ 姓名不能为空!");
return;
}
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
if (age < 0 || age > 150) {
System.out.println("⚠ 年龄不合理!");
return;
}
this.age = age;
}
public String getStudentId() {
return studentId;
}
public void setStudentId(String studentId) {
this.studentId = studentId;
}
// 4. 行为方法
public void study(String subject) {
System.out.println(name + " 正在学习 " + subject + "");
}
public void takeExam(String subject) {
System.out.println(name + "(学号:" + studentId + ")正在参加 " + subject + " 考试。");
}
public void introduce() {
System.out.println("-----------------------------------");
System.out.println("自我介绍:");
System.out.println(" 姓名:" + name);
System.out.println(" 年龄:" + age + "");
System.out.println(" 学号:" + studentId);
System.out.println("-----------------------------------");
}
}
// ==================== 测试类 ====================
class StudentTest {
public static void main(String[] args) {
System.out.println("========== 面向对象练习 ==========\n");
// 1. 使用无参构造 + setter 创建对象
Student s1 = new Student();
s1.setName("张三");
s1.setAge(20);
s1.setStudentId("2024001");
s1.introduce();
s1.study("Java");
s1.takeExam("面向对象程序设计");
// 2. 使用有参构造直接创建
Student s2 = new Student("李四", 22, "2024002");
s2.introduce();
// 3. 创建第三个学生
Student s3 = new Student("王五", 19, "2024003");
s3.introduce();
s3.study("数据结构");
// 4. 演示数据校验
System.out.println("\n--- 测试 data 校验 ---");
s3.setAge(-5); // 触发校验
s3.setName(""); // 触发校验
}
}