java內部類學習,匿名內部類的呼叫。
阿新 • • 發佈:2019-01-13
一、什麼是內部類
顧名思義,內部類就是將類寫在其他類的內部,可以寫在其他類的成員位置和區域性位置,這時寫在其他類內部的類就稱為內部類。
二、什麼時候用內部類
如果一個事物裡包含著其他事物,其他事物,可以建立一個內部類。
三、內部類的劃分
內部類分為成員內部類和區域性內部類。內部類也會生成.class檔案。
1、成員內部類
定義在外部類中的成員位置,與類中的成員變數相似,可通過外部類物件進行訪問。
內部類可以使用外部類的成員,包括私有成員。但是外部類要使用內部類的成員,必須建立內部類變數。
2、區域性內部類
定義:在方法裡面有一個內部類。
只有在內部類所屬的方法中建立內部類物件,方可訪問區域性內部類。而測試類中只需要建立外部類物件,然後呼叫外部類方法即可。
四、匿名內部類
最常用到的內部類是匿名內部類。
1、定義的匿名內部類有兩個含義
定義子類,實現介面,建立子類物件一步完成。
注意最後要加分號。表示一個子類物件的建立。匿名內部類建立在方法中。必須與父類有繼承關係。
編譯會生成一個沒有名的.class檔案。
2、呼叫內部類的方法
第一種:要想調匿名類的方法,只需要在類結束處加上 .方法名即可。如圖:
第二種:也可以引用父類變數接收:
注意:匿名內部類只能寫在方法中。
內部類從new開始到分號結束,就是子類的物件。用多型的方式賦值給父類的引用變數,根據多型定義,執行成員方法,編譯看父類是否有此方法,有,編譯成功。沒有編譯失敗。執行是非靜態方法,執行子類方法。即內部類的方法。