在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訪問靜態成員和方法。
靜態內部類和非靜態內部類的區別在于,靜態內部類不依賴外部類的實例,可以直接通過類名訪問其靜態成員和方法,而非靜態內部類必須通過外部類的實例來訪問。