跳转至

嵌套类

嵌套类(Nested Class) 指的是在另一个类的内部定义的类。外层的类称为 “外部类” 或 “宿主类”,内层的类则称为 “嵌套类”。

嵌套类的作用

  • 逻辑分组: 当一个类仅为另一个类服务时,将其嵌套在内部可以增强代码的内聚性和可读性。
  • 封装性: 嵌套类可以访问外部类的私有成员(具体取决于编程语言的访问控制规则),同时也能隐藏自身实现细节。
  • 命名空间管理: 避免类名冲突,嵌套类的作用域被限制在外部类内部。

类型

嵌套类分为静态嵌套类(Static Nested Class)和非静态嵌套类(内部类,Inner Class)。静态嵌套类不依赖外部类实例,可直接通过外部类直接访问。而内部类需要关联外部类实例才能创建。

代码示例

class OuterClass {
    // 静态嵌套类
    static class StaticNestedClass {
        void display() {
            System.out.println("这是静态嵌套类");
        }
    }

    // 内部类(非静态嵌套类)
    class InnerClass {
        void show() {
            System.out.println("这是内部类");
        }
    }
}