在 Java 中,静态内部类是一种嵌套在外部类中的静态类。静态内部类与外部类的实例无关,可以直接访问外部类的静态成员。以下是一个简单的 Java 代码示例,展示了如何定义和使用静态内部类:
public class OuterClass {
private static int outerData;
public static void outerMethod() {
System.out.println("Outer method");
}
// 静态内部类
public static class StaticInnerClass {
private int innerData;
public void innerMethod() {
System.out.println("Inner method");
System.out.println("Accessing outerData: " + outerData);
outerMethod();
}
}
public static void main(String[] args) {
OuterClass.outerData = 10;
// 创建静态内部类的实例
StaticInnerClass inner = new StaticInnerClass();
inner.innerData = 20;
inner.innerMethod();
}
}
在上面的示例中,OuterClass
是外部类,StaticInnerClass
是静态内部类。外部类中有一个私有的静态整数成员变量 outerData
和一个公共静态方法 outerMethod()
。静态内部类中有一个私有的整数成员变量 innerData
和一个公共方法 innerMethod()
。请注意,静态内部类可以直接访问外部类的静态成员变量和方法。
在 main()
方法中,我们首先设置了外部类的静态成员变量 outerData
的值。然后,使用静态内部类的类名创建了内部类的实例 inner
。创建静态内部类的实例时,不需要外部类的实例。最后,通过内部类的实例调用了 innerMethod()
方法,它输出了一些信息,包括访问外部类的静态成员变量和方法。
请注意,静态内部类与外部类的实例无关,因此可以在没有外部类实例的情况下创建静态内部类的实例。