java學習 十六、內部類
阿新 • • 發佈:2019-01-26
定義:內部類是指在一個外部類的內部再定義一個類。
內部類作為外部類的成員,並且依附於外部類而存在。
內部類可為靜態,可用protected和private修飾,而外部類只能使用public和預設的包訪問許可權。
內部類有4中形式:靜態內部類、成員內部類、區域性內部類、匿名內部類
靜態內部類:
1)使用static修飾,宣告在類中。
2)靜態內部類中可以剛問外部類的靜態成員。
靜態內部類的使用方法如下圖所示:
成員內部類:
1)宣告在類中,不使用static修飾,具有類的成員特性,也就是,必須有類的例項才能建立內部類例項。
2)成員內部類例項可以訪問共享外部類的成員變數。
3)成員內部類中不能存在static修飾的方法、屬性或者程式碼塊等
成員內部類的使用方法如下圖:
區域性內部類:
把類宣告在方法中就是區域性內部類,作用域僅為所在的方法,類似區域性變數。
區域性內部類的使用方法如下圖所示:
匿名內部類:
1)匿名內部類可以寫在任何地方,就像一般的語句。
2)語法一般為:Xxx xxx = new Xxx(){……}
3)匿名類是對原類的繼承,同時建立了例項,{}內部就是繼承後的類體。類體中可以使用原類的所有語法。
4)匿名類中不可以寫構造器
5)匿名類可以從抽象類或者介面繼承,必須提供抽象方法的實現。
匿名內部類的使用方法如下圖所示: