在Java类中定义静态内部类可以使用关键字static来修饰内部类,如下所示:
public class OuterClass {
private static class InnerClass {
public static int staticMember = 10;
public static void staticMethod() {
System.out.println("Static method in InnerClass");
}
}
public static void main(String[] args) {
System.out.println(InnerClass.staticMember);
InnerClass.staticMethod();
}
}
在上面的例子中,InnerClass是OuterClass的静态内部类,它包含一个静态的成员变量staticMember和一个静态的方法staticMethod。在main方法中,我们可以直接通过InnerClass访问静态成员和方法。
静态内部类和非静态内部类的区别在于,静态内部类不依赖外部类的实例,可以直接通过类名访问其静态成员和方法,而非静态内部类必须通过外部类的实例来访问。