在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访问静态成员和方法。
静态内部类和非静态内部类的区别在于,静态内部类不依赖外部类的实例,可以直接通过类名访问其静态成员和方法,而非静态内部类必须通过外部类的实例来访问。