在 Java 中,靜態內部類是一種嵌套在另一個類中的類,它被聲明為靜態的,因此不需要引用外部類的實例。靜態內部類與非靜態內部類(也稱為成員內部類)不同,非靜態內部類可以訪問外部類的成員變量和方法,而靜態內部類只能訪問外部類的靜態成員變量和方法。
靜態內部類的語法如下:
在上面的代碼中,InnerClass 是一個靜態內部類,可以通過 OuterClass.InnerClass 的方式訪問它。靜態內部類可以像普通類一樣使用,包括創建實例、調用方法等。靜態內部類還可以訪問外部類的靜態成員變量和方法,例如:
在上面的代碼中,InnerClass 訪問了外部類的靜態成員變量 staticField,但不能訪問外部類的實例變量 instanceField。
靜態內部類通常用于實現某個接口或抽象類,或者為外部類提供一些靜態輔助方法或常量。它也可以用于將一些較小的類封裝在一個類中,以便更好地組織代碼。
總之,靜態內部類是一種嵌套在另一個類中的靜態類,它與外部類的實例無關,只能訪問外部類的靜態成員變量和方法。靜態內部類可以像普通類一樣使用,可以用于實現接口、提供靜態輔助方法等。