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