Java 成员内部类

30 Mar 2025 | 2 分钟阅读

在类内部但在方法外部创建的非静态类称为 成员内部类 。它也称为 常规内部类。可以使用访问修饰符(如 public、default、private 和 protected)声明它。

语法

Java 成员内部类示例

在此示例中,我们在成员内部类中创建一个 msg() 方法,该方法正在访问外部类的私有数据成员。

TestMemberOuter1.java

立即测试

输出

data is 30

如何在 Java 中实例化成员内部类?

成员内部类的对象或实例始终存在于其外部类的对象中。 new 运算符用于创建成员内部类的对象,其语法略有不同。

创建成员内部类对象的语法的一般形式如下

语法

示例

此处,OuterClassReference 是外部类的引用,后跟一个点,后跟 new 运算符。

Java 成员内部类的内部工作原理

在内部类的情况下, Java 编译器 创建两个类文件。内部类的类文件名是“Outer$Inner”。如果要实例化内部类,则必须创建外部类的实例。在这种情况下,内部类的实例是在外部类的实例内部创建的。

编译器生成的内部代码

在这种情况下,Java 编译器会创建一个名为 Outer$Inner 的类文件。 成员内部类具有外部类的引用,因此它可以访问外部类的所有数据成员,包括私有数据成员。