在 Java 中,"inner" 关键字用于创建定义在另一个类中的内部类,包括嵌套类、静态嵌套类和内部类。嵌套类和静态嵌套类可以访问外部类的所有非私有成员,而内部类只能访问外部类的非私有成员。内部类通常用于将功能性代码组织到逻辑组中,并提高代码的可维护性和可读性。

inner 在 Java 中的含义
在 Java 编程语言中,"inner" 关键字用于创建内部类。内部类是定义在另一个类中的类,称为外部类。
内部类的类型
Java 中有三种类型的内部类:
立即学习“Java免费学习笔记(深入)”;
- 嵌套类(Nested class):定义在外部类的非静态方法中。
- 静态嵌套类(Static Nested class):定义在外部类的静态方法中。
- 内部类(Inner class):定义在外部类的实例方法中。
内部类的访问权限
- 嵌套类和静态嵌套类可以访问外部类的所有成员(私有成员除外)。
- 内部类只能访问外部类的非私有成员。
内部类的用途
内部类通常用于将功能性代码组织到逻辑组中。它们还可以访问外部类的私有成员,从而提高代码的可维护性和可读性。
实例
<code class="java">// 外部类
public class OuterClass {
private int number;
// 嵌套类
public class NestedClass {
public void printNumber() {
System.out.println(number);
}
}
// 静态嵌套类
public static class StaticNestedClass {
public static void printMessage() {
System.out.println("Static nested class message");
}
}
// 内部类
public InnerClass getInnerClass() {
// 内部类定义在实例方法中
class InnerClass {
public void printName() {
System.out.println("Inner class name");
}
}
return new InnerClass();
}
// 主函数
public static void main(String[] args) {
OuterClass outerClass = new OuterClass();
NestedClass nestedClass = outerClass.new NestedClass();
nestedClass.printNumber();
StaticNestedClass.printMessage();
InnerClass innerClass = outerClass.getInnerClass();
innerClass.printName();
}
}</code>











