zoukankan      html  css  js  c++  java
  • Java | 嵌套类(Nested Class)

    前言


    本文内容主要来自 Java 官方教程中的《嵌套类》章节。

    定义


    嵌套类(Nested Class),是 Java 中对类的一种定义方式。Java 编程语言允许一个类被定义在另一个类中,这样的类就称为嵌套类

    嵌套类分为两种:静态的和非静态的。用 static 关键字来声明的嵌套类,称为静态嵌套类(Static Nested Class)。非静态嵌套类(Non-Static Nested Class),又称为内部类(Inner Class)。

    包含嵌套类的类,可称为外围类(Enclosing Class)或外部类(Outer Class)。嵌套类可作为其外围类的成员。非静态嵌套类(内部类)可访问其外围类的其他成员,即使这些成员被声明为私有的。静态嵌套类不能访问其外围类的其他成员。

    若嵌套类作为其外部类的成员,则它可声明为 publicprivateprotected包私有的

    概述


    为何使用嵌套类

    使用嵌套类的主要理由是:

    • 它是一种只对一个地方使用的类进行逻辑分组的方法:如果一个类只对另一个类有用,那么将其嵌入到该类中并使这两个类保持在一起是合乎逻辑的。嵌套这样的“助手类(Helper Class)”使它们所在的包更为精简。
    • 它增强了封装性:考虑两个顶层类,A 和 B,当 B 需要访问 A 中被声明为 private 的成员时,可将 B 嵌入 A 中,这样 B 就可以访问 A 中的私有成员了。此外,B 本身也可以对外界隐藏起来。
    • 它使代码更具可读性和可维护性:在顶层类中嵌套小类,会使代码更接近其使用的位置。

    静态嵌套类和内部类

    静态嵌套类内部类,是嵌套类的两个分类。想要了解更多的相关信息,请参阅《静态嵌套类》和《内部类》。

  • 相关阅读:
    第36课 经典问题解析三
    第35课 函数对象分析
    67. Add Binary
    66. Plus One
    58. Length of Last Word
    53. Maximum Subarray
    38. Count and Say
    35. Search Insert Position
    28. Implement strStr()
    27. Remove Element
  • 原文地址:https://www.cnblogs.com/blume/p/13193845.html
Copyright © 2011-2022 走看看