静态内部类(Static Inner Class)是指定义在外部类内部的一个静态类。静态内部类与普通内部类的最大差别在于,静态内部类可以直接访问外部类的静态成员和方法,而无需创建一个外部类的实例。
静态内部类的定义方式和普通内部类相似,只需要在类定义前面添加 static 关键字即可。例如:
public class OuterClass {
// 外部类静态变量
private static int num = 10;
// 静态内部类
public static class InnerClass {
public void print() {
System.out.println("静态内部类访问外部类的静态变量:" + num);
}
}
}
使用静态内部类的好处在于,可以将具有独立功能的类封装在一起,便于组织、管理和维护代码,同时也可以避免了外部类中代码的冗长。静态内部类的代码编写和普通类类似,可以在外部类的任何地方创建它的对象,但需要使用外部类对它进行限定,例如:
// 创建静态内部类对象
OuterClass.InnerClass innerClass = new OuterClass.InnerClass();
// 调用静态内部类的方法
innerClass.print();
需要注意的是,静态内部类和普通内部类在使用时有一些区别,在创建它的对象时需要使用不同的语法,具体可参考 Java 内部类的相关文档。