【JAVA SE基礎篇】31.內部類

內部類分爲:成員內部類(靜態和非靜態)、匿名內部類局部內部類this

1.成員內部類(能夠使用private、default、protected、public任意修飾)spa

非靜態內部類對象

1.非靜態內部類必須寄存在一個外部類對象裏。所以,若是有一個非靜態內部類對象那麼必定存在對應的外部類對象blog

2.非靜態內部類能夠直接訪問外部類的成員,可是外部類不能直接訪問非靜態內部類成員接口

3.非靜態內部類不能有靜態方法、靜態屬性和靜態初始化塊。作用域

4.外部類的靜態方法、靜態代碼塊不能訪問非靜態內部類,包括不能使用非靜態內部類定義變量、建立實例開發

5.成員變量訪問:變量

  內部類例方法的局部變量:變量名。bfc

  內部類屬性:this.變量名方法

  外部類屬性:外部類名.this.變量名

例:

靜態內部類

1.當一個靜態內部類對象存在,並不必定存在對應的外部類對象。所以,靜態內部類的實例方法不能直接訪問外部類的實例方法

2.靜態內部類看做外部類的一個靜態成員,所以,外部類的方法中能夠經過:「靜態內部類.名字」的方式訪問靜態內部類的靜態成員,

經過new靜態內部類()訪問靜態內部類的實例。

例:

 

 

 2.匿名內部類

適用於只須要使用一次的類。好比:鍵盤監聽操做等

結構:

new 父類構造器(實參列表)/實現接口(){

 //匿名內部類類體 

}

例:

 

注:

1.匿名內部類沒有訪問修飾

2.匿名內部類沒有構造方法。由於它連名字都沒有。

3.匿名內部類在安卓開發中大量出現

3.局部內部類

在方法內部定義一個類,做用域只限於本方法,稱位局部內部類(不多見)

例:

相關文章
相關標籤/搜索