Java筆記 內部類

----------- android培訓java培訓、java學習型技術博客、期待與您交流! ------------

內部類:類中之類

適用特點:類的內部具有可以抽象的事物(即此事物也有有屬性和行爲,用程序的眼光來看能抽象出一個類),這時就用內部類來描述這種事物。

 

內部類只有定義在成員變量的位置上時才能被private或static修飾

 

內部類位於成員變量的位置上時且非私(非靜態)有時:

1.適用於成員變量的規則,可以直接訪問其所在類的成員(成員函數和成員變量),被private修飾的成員也可訪問

2.若內部類中有和其所在類中同名的變量,要想訪問外部類中的變量,格式爲:外部類類名.this.變量名;(即外部類類名爲外部類的引用)

3.此時外部類要想訪問內部類就要創建內部類的對象,格式如下:

    外部類名.內部類名    變量名=外部類對象.內部類對象;(私有時不能這樣調用)

 

內部類位於成員變量的位置上時且非私有(靜態)有時:

 適用靜態對象所適用的規則,

所以內部類中定義靜態成員時內部類應爲靜態內部類

外部類中的靜態成員要想訪問一個內部類,根據靜態成員所適用的規則,此內部類也必須是靜態的

 

內部類位於外部類的局部變量(函數內部)的位置上時:

1.不可以被成員修飾符所修飾,即不能被private所修飾

2.可以直接訪問外部類中的成員,因爲還持有外部類的引用,但不可以訪問它所在的局部中的變量,只能訪問局部常量(java規定)

 

匿名內部類 (就是一個匿名子類對象,一種簡寫格式,主要爲了調用方法,所以匿名內部類中的方法最好不要超過三個):

定義前提:必須繼承一個父類或者實現接口

格式:

new 父類或接口(){

    定義子類內容

}  可以理解爲:一個帶內容的”胖“對象。

 

 

 

 

發佈了32 篇原創文章 · 獲贊 4 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章