Java | 嵌套类(Nested Class)

2021-05-05 01:28

阅读:435

标签:包含   了解   blank   rac   位置   lan   需要   nes   相关   

前言


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

 

定义


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

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

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

若嵌套类作为其外部类的成员,则它可声明为 private、public、protected 或包私有的。

  • 提示:作为顶层类的外部类只能声明为 public 或包私有的。

 

概述


为何使用嵌套类

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

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

静态嵌套类和内部类

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

Java | 嵌套类(Nested Class)

标签:包含   了解   blank   rac   位置   lan   需要   nes   相关   

原文地址:https://www.cnblogs.com/blume/p/13193845.html


评论


亲,登录后才可以留言!