Переглянути джерело

docs: 更新20260724课堂笔记,同步代码变更——新增内部类类型(静态成员内部类/局部内部类)及访问格式

WanJL 10 годин тому
батько
коміт
0edccfa6a1

+ 25 - 0
授课代码/c260724/src/course/internalClass/Demo01.java

@@ -98,6 +98,31 @@ public class Demo01 {
                 }
                 }
             }
             }
             // 这才是合理的,需要先创建人的对象,在通过人对象调用getHeart()方法,创建这个人的心脏对象。
             // 这才是合理的,需要先创建人的对象,在通过人对象调用getHeart()方法,创建这个人的心脏对象。
+         2、静态成员内部类
+            是内部类使用static修饰
+            访问静态内部类的格式:外部类名.内部类名 对象名 = new 外部类名.内部类名()
+            访问静态内部类的静态方法的格式:  外部类名.内部类名.方法名()
+
+         3、局部内部类--- 定义在方法内部的 类,只有所在的方法使用
+
+            class Outer{
+                public void method(){
+                    class Inner{    //局部内部类
+                        public void innerMethod(){  //内部类的方法
+
+                        }
+                    }
+                    Inner inner=new Inner();    //需要在方法里面创建局部内部类对象
+                    inner.innerMethod();//调用局部内部类的方法
+                }
+            }
+            局部内部类,外界无法直接访问,必须在方法内部创建内部类对象,然后调用。
+            局部内部类也可以直接访问外部类的成员,也可以直接访问所在的方法内的局部变量。
+
+
+            局部内部类和静态成员内部类用的都非常少。使用最多的就是【匿名内部类】和【成员内部类】。
+        4、匿名内部类
+            ...不讲了..下周一再讲
 
 
      */
      */
 
 

+ 51 - 0
课堂笔记/01-JavaSE基础-笔记/20260724-笔记.md

@@ -496,6 +496,57 @@ public class Test01 {
 | 关系 | 父类/接口 ← 子类/实现类 | 外部类 → 内部类(强依赖) |
 | 关系 | 父类/接口 ← 子类/实现类 | 外部类 → 内部类(强依赖) |
 | 访问特点 | 编译看左边,运行看右边 | 内部类可直接访问外部类私有成员 |
 | 访问特点 | 编译看左边,运行看右边 | 内部类可直接访问外部类私有成员 |
 
 
+### 4.5 更多内部类类型
+
+#### 4.5.1 静态成员内部类(`static` 修饰)
+
+用 `static` 修饰的内部类,属于外部类本身而非外部类的实例。
+
+**访问格式**:
+
+| 场景 | 格式 |
+|------|------|
+| 创建对象 | `外部类名.内部类名 对象名 = new 外部类名.内部类名()` |
+| 调用静态方法 | `外部类名.内部类名.静态方法名()` |
+
+```java
+class Outer {
+    static class Inner {   // 静态成员内部类
+        // ...
+    }
+}
+
+// 创建静态内部类对象
+Outer.Inner inner = new Outer.Inner();
+```
+
+#### 4.5.2 局部内部类(定义在方法内部)
+
+定义在方法内部的类,**仅在该方法内可见和使用**。
+
+```java
+class Outer {
+    public void method() {
+        class Inner {               // 局部内部类
+            public void innerMethod() {
+                // 内部类的方法
+            }
+        }
+        // 必须在方法内创建对象才能使用
+        Inner inner = new Inner();
+        inner.innerMethod();
+    }
+}
+```
+
+**特点**:
+- 外界无法直接访问局部内部类
+- 只能在定义它的方法内部创建对象并调用
+- 可以直接访问外部类的成员,也可以访问所在方法的局部变量
+
+> **使用频率**:局部内部类和静态成员内部类使用较少,使用最多的是 **成员内部类** 和 **匿名内部类**(匿名内部类后续课程讲解)。
+> 📄 来源:`Demo01.java`(`course.internalClass` 包)
+
 ## 五、随堂练习要点
 ## 五、随堂练习要点
 
 
 | 练习方向 | 涉及知识点 | 对应文件 |
 | 练习方向 | 涉及知识点 | 对应文件 |