Browse Source

feat: 实现随堂练习代码(Teacher/Dog/Manager)+ 修正练习文档格式

WanJL 15 giờ trước cách đây
mục cha
commit
3298b6af2b

+ 53 - 5
授课代码/c260721/src/course/Teacher.java

@@ -1,12 +1,60 @@
-package course;
-
+package course; //1、包结构
 
+    //2、如果使用了其他包的类,要导包
 /**
- * @title Teacher
- * @description 
  * @author WanJl
  * @version 1.0
+ * @title Teacher
+ * @description 教师类-一个标准类的代码编写和使用
+ * 一个标准的类包含:
+ *  私有属性及setter和getter方法,有参构造方法、无参构造方法 ....
+ *  这时候我们一般称这个Java类 为JavaBean  这个类的作用就是封装数据,比如商品类、学生类、教师类、用户类、学校类、班级类、订单类....
  * @create 2026/7/21
  */
-public class Teacher {
+// Java的类名需要使用大驼峰命名(每个单词的首字母大写)
+public class Teacher {  // 类需要使用public修饰,并且使用public修饰的类名需要和Java文件名相同
+    //属性 需要私有化 并配置setter和getter方法
+    private String name;
+    private String gender;
+    private int age;
+
+    //需要有无参的构造方法
+    public Teacher() {
+    }
+    //需要有有参的构造方法
+    public Teacher(String name, String gender, int age) {
+        this.name = name;
+        this.gender = gender;
+        this.age = age;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getGender() {
+        return gender;
+    }
+
+    public void setGender(String gender) {
+        this.gender = gender;
+    }
+
+    public int getAge() {
+        return age;
+    }
+
+    public void setAge(int age) {
+        this.age = age;
+    }
+    // 对象和对象比较的方法
+
+    //计算对象值的方法
+
+    //展示对象的方法
+
 }

+ 1 - 1
授课代码/c260721/src/exercise/exercise01/Dog.java

@@ -1,4 +1,4 @@
-package exercise;
+package exercise.exercise01;
 
 
 /**

+ 1 - 1
授课代码/c260721/src/exercise/exercise01/DogTest.java

@@ -1,4 +1,4 @@
-package exercise;
+package exercise.exercise01;
 
 
 /**

+ 39 - 2
授课代码/c260721/src/exercise/exercise02/Manager.java

@@ -2,11 +2,48 @@ package exercise.exercise02;
 
 
 /**
- * @title Manager
- * @description 
  * @author WanJl
  * @version 1.0
+ * @title Manager
+ * @description
+ * 练习 5:private 构造方法——Singleton 体验
+ * 难度:⭐⭐⭐
+ * 知识点:private 构造方法
+ *
+ * 创建一个 Manager 类,包含:
+ *
+ * 私有属性:name(String)
+ * 私有构造方法:private Manager() —— 构造方法内部输出 "Manager 对象已创建"
+ * 公有 static 方法:public static Manager getInstance() —— 内部 new Manager() 并返回该对象
+ * getter/setter
+ * 测试类要求:
+ *
+ * 尝试直接 new Manager(),观察编译错误
+ * 通过 Manager.getInstance() 方法获取 Manager 对象,设置 name 并输出
+ * 提示:这是单例设计模式的雏形——通过私有构造方法 + 静态方法控制对象的创建。
  * @create 2026/7/21
  */
 public class Manager {
+    private String name;
+
+    //类的里面,自己创建了一个对象,把地址赋值给manager
+    private static Manager manager=new Manager();
+
+    // 把构造方法私有化,不让外部随意创建对象,只能通过调用getInstance,获取我们创建的那一个对象
+    private Manager(){
+        System.out.println("Manager 对象已创建");
+    }
+    //定义一个公共的任何人都能访问的方法,这个方法里面返回一个对象。
+    public static Manager getInstance(){
+        //返回这个对象地址
+        return manager;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
 }

+ 17 - 2
授课代码/c260721/src/exercise/exercise02/ManagerTest.java

@@ -2,11 +2,26 @@ package exercise.exercise02;
 
 
 /**
- * @title ManagerTest
- * @description 
  * @author WanJl
  * @version 1.0
+ * @title ManagerTest
+ * @description
  * @create 2026/7/21
  */
 public class ManagerTest {
+    public static void main(String[] args) {
+        //由于Manager 的构造方法是私有的,所以不能通过这种方式创建对象
+        //Manager manager=new Manager();
+        //需要通过调用.getInstance()方法获取对象
+        Manager m1 = Manager.getInstance();    //new Manager();
+        Manager m2 = Manager.getInstance();   //new Manager();
+        System.out.println(m1);    //exercise.exercise02.Manager@2f4d3709
+        System.out.println(m2);   //exercise.exercise02.Manager@2f4d3709
+
+        m1.setName("张三");
+        String name1 = m1.getName();
+        String name2 = m2.getName();
+        System.out.println(name1);
+        System.out.println(name2);
+    }
 }

+ 4 - 0
课堂练习题/20260721-构造方法练习.md

@@ -426,6 +426,10 @@ Java 中普通数组 `int[]` 一旦创建,长度就固定了,无法动态增
 > 删除后:[10, 20, 40, 50, 0]     size=4
 > ```
 
+
+---
+
+
 #### 10. 删除指定值的元素 — `removeByValue(int element)`
 
 删除数组中第一个值与 `element` 相等的元素。