菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
357
0

Java | 嵌套类(Nested Class)

原创
05/13 14:22
阅读数 10178

前言


本文内容主要来自 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 本身也可以对外界隐藏起来。
  • 它使代码更具可读性和可维护性:在顶层类中嵌套小类,会使代码更接近其使用的位置。

静态嵌套类和内部类

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

发表评论

0/200
357 点赞
0 评论
收藏
为你推荐 换一批