前言——任何一個類都不在另一個類的內(nèi)部括享,而在類中定義的那個類稱為內(nèi)部類。
一珍促、內(nèi)部類包括:成員內(nèi)部類铃辖、局部內(nèi)部類、匿名內(nèi)部類猪叙、靜態(tài)內(nèi)部類娇斩、內(nèi)部類的繼承。
1.成員內(nèi)部類:
概念:① 內(nèi)部類可以隨便使用外部類的成員方法穴翩、成員變量 犬第,無論是否被修飾為private。
② 內(nèi)部類的實例一定要綁定在外部類的實例上芒帕。
③內(nèi)部類的成員瓶殃,只有在內(nèi)部類 的范圍可知,不能被外部類使用副签。
2.局部內(nèi)部類:
內(nèi)部了不僅可以在類中進(jìn)行,也可以在類的局部位置定義:如在類的方法基矮,或者任意的作用域中淆储。
用this調(diào)用關(guān)鍵字獲取內(nèi)部類與外部類的引用。
3.匿名內(nèi)部類:
語法實現(xiàn):return new A ( ) { .../內(nèi)部類體}家浇;分號代表創(chuàng)建方法引用表達(dá)式的標(biāo)識本砰。
匿名內(nèi)部類沒有名稱,一般在方法體中出現(xiàn)钢悲。
4.靜態(tài)內(nèi)部類:
內(nèi)部類前加上static ,一個靜態(tài)內(nèi)部類中可以聲明static成員点额,但是在非靜態(tài)內(nèi)部類中不可以聲明靜態(tài)成員舔株。不可以使用外部類的非靜態(tài)成員。
5.內(nèi)部類的繼承:
public class OutClass extends ClassA,ClassB{
public OutClass ( ClassA a ){ ? a.super( );}}
class ClassA {
class ClassB { }}