•可以在任意作用域內定義內部類
•在類作用域裡定義
–引用範圍由其訪問屬性決定
•方法內部類
-引用範圍只在方法內部
•任意作用域類
-引用範圍只在該作用域內部
•內部類物件包含隱式成員指向外部類物件
•用outerclass.this引用外部類物件
•在外部類非靜態方法外建立內部類物件,不能直接new outer.inner().必須先建立外部類物件,然後通過外部類物件建立。建立方式如下:
–outero = new outer();
–outer.inner oi=o.newinner();
•外部public介面+內部private實現
•隱藏實現細節
•由於是private實現,在外部類非靜態方法外的所有地方,都不能建立內部類物件或使用內部類名,只能由外部類的非靜態方法建立內部類物件,並返回介面來使用內部類。
•如果在匿名類裡面用到了外部類定義的變數,則這個物件必須定義成final
•匿名類沒有建構函式,但可以通過例項初始化塊來進行匿名類的構造
•宣告為static的內部類
•巢狀類物件沒有外部類物件的this引用
•不需要通過外部類物件建立巢狀類物件
•巢狀類內不能訪問外部類的非靜態成員
•類似於static方法
•介面中的任何類都自動是public和static的
•非靜態內部類不能有靜態成員,但靜態內部類可以有
•可解決「多重繼承」問題哦,因為每個內部類都可以繼承乙個類
java讀書筆記 內部類
定義 基礎使用和建立物件package cn.com.github public class dotthis public class inners public inners inners 可以使用私有內部類來隱藏實現細節 private class privateclass 可以使用保護類來隱藏...
JAVA筆記 內部類
成員內部類 普通呼叫方法 outer.inner oi new outer new inner 靜態呼叫方法 1.outer.inner oi new outer.inner 2.outer.inner.show 內部類用private修飾 無法再main函式中呼叫,怎麼辦呢?在外部類中建立乙個方法...
內部類學習筆記
案例演示 成員內部類使用 public class test class outer 案例演示 靜態內部類使用 public class test class outer 案例演示 區域性內部類使用 public class test class outer 建立區域性內部類物件 inner inn...