1. 程式人生 > >java內部類學習,匿名內部類的呼叫。

java內部類學習,匿名內部類的呼叫。

一、什麼是內部類

顧名思義,內部類就是將類寫在其他類的內部,可以寫在其他類的成員位置和區域性位置,這時寫在其他類內部的類就稱為內部類。

二、什麼時候用內部類

如果一個事物裡包含著其他事物,其他事物,可以建立一個內部類。

三、內部類的劃分

內部類分為成員內部類和區域性內部類。內部類也會生成.class檔案。

1、成員內部類

定義在外部類中的成員位置,與類中的成員變數相似,可通過外部類物件進行訪問。

內部類可以使用外部類的成員,包括私有成員。但是外部類要使用內部類的成員,必須建立內部類變數。

2、區域性內部類

定義:在方法裡面有一個內部類。

只有在內部類所屬的方法中建立內部類物件,方可訪問區域性內部類。而測試類中只需要建立外部類物件,然後呼叫外部類方法即可。

四、匿名內部類

最常用到的內部類是匿名內部類。

1、定義的匿名內部類有兩個含義 

定義子類,實現介面,建立子類物件一步完成。

注意最後要加分號。表示一個子類物件的建立。匿名內部類建立在方法中。必須與父類有繼承關係。

編譯會生成一個沒有名的.class檔案。

2、呼叫內部類的方法

第一種:要想調匿名類的方法,只需要在類結束處加上   .方法名即可。如圖:

第二種:也可以引用父類變數接收:

注意:匿名內部類只能寫在方法中。

內部類從new開始到分號結束,就是子類的物件。用多型的方式賦值給父類的引用變數,根據多型定義,執行成員方法,編譯看父類是否有此方法,有,編譯成功。沒有編譯失敗。執行是非靜態方法,執行子類方法。即內部類的方法。