內部類定義在另一個類內部。建立內部類實例時,會隱含捕獲外部類實例引用,因此能無條件存取外部類所有成員 (含 private)。
Outer.this:在內部類中獲取外部類實例引用。outerObj.new Inner():在外部類實例上直接建立內部類實例 (而非透過外部類方法)。內部類實作介面並向上轉型為介面類型,外部類可隱藏具體實現細節,實現「多重繼承」效果 (Java 單繼承限制下)。
static。final 或效果上 final (Java 8+)。{ ... } 模擬建構邏輯。static 修飾,不依賴外部類實例。new Outer.Nested()。格式:Outer$Inner.class。方法區域類編譯時同樣生成 class 檔,證明非運行時動態生成。