靜態(tài)內(nèi)部類(Static Inner Class)是指定義在外部類內(nèi)部的一個靜態(tài)類。靜態(tài)內(nèi)部類與普通內(nèi)部類的最大差別在于,靜態(tài)內(nèi)部類可以直接訪問外部類的靜態(tài)成員和方法,而無需創(chuàng)建一個外部類的實例。
靜態(tài)內(nèi)部類的定義方式和普通內(nèi)部類相似,只需要在類定義前面添加 static 關(guān)鍵字即可。例如:
public class OuterClass {
// 外部類靜態(tài)變量
private static int num = 10;
// 靜態(tài)內(nèi)部類
public static class InnerClass {
public void print() {
System.out.println("靜態(tài)內(nèi)部類訪問外部類的靜態(tài)變量:" + num);
}
}
}
使用靜態(tài)內(nèi)部類的好處在于,可以將具有獨立功能的類封裝在一起,便于組織、管理和維護代碼,同時也可以避免了外部類中代碼的冗長。靜態(tài)內(nèi)部類的代碼編寫和普通類類似,可以在外部類的任何地方創(chuàng)建它的對象,但需要使用外部類對它進行限定,例如:
// 創(chuàng)建靜態(tài)內(nèi)部類對象
OuterClass.InnerClass innerClass = new OuterClass.InnerClass();
// 調(diào)用靜態(tài)內(nèi)部類的方法
innerClass.print();
需要注意的是,靜態(tài)內(nèi)部類和普通內(nèi)部類在使用時有一些區(qū)別,在創(chuàng)建它的對象時需要使用不同的語法,具體可參考 Java 內(nèi)部類的相關(guān)文檔。