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