Java內部類和匿名內部
阿新 • • 發佈:2019-01-09
內部類
簡述:
如果一個事物的內部包含另一個事物,那麼這就是一個類內部包含一個類。
例如:身體和心臟
分類:
1.成員內部類
2.區域性內部類(包含匿名內部類)
成員內部類:
成員內部類定義格式:
修飾符 class 類名稱{
修飾符 class 類名稱{
內容…
}
內容…
}
注意:內用外,隨意訪問;外用內,需要內部類物件
======================= 如何使用成員內部類? 兩種方法: 1.在外部類的方法當中,使用內部類;然後main只是呼叫外部類的方法。(間接) 2.公式:[外部類名稱.內部類名稱 物件名 = new 外部類名稱().new 內部類名稱();](直接)
區域性內部類:
如果一個類是定義在一個方法內部,那麼這個類就是一個區域性內部類 。
只有當前所屬的方法才能使用它
定義格式:
修飾符 class 外部類名稱{
修飾符 返回值型別 外部類方法名稱(引數列表){
class 區域性內部類名稱{
內容…
}
}
}
類的許可權修飾符:
public > protected > (default) > private
定義一個類的時候,許可權修飾符規則:
外部類:public / (default)
成員內部類:public protected (default) private
區域性內部類:什麼都不能寫 不同於(default)
匿名內部類:
簡述:
如果介面的實現類,或者是父類的子類,只需要使用唯一的一次
這種情況下可以省略掉該類的定義,使用匿名內部類
匿名內部類定義格式:
介面名稱 物件名 = new 介面名稱(){
//覆蓋重寫所有抽象方法
};
對格式“new 介面名稱(){…}”進行解析
1.new代表建立物件的動作
2.介面名稱就是匿名內部類需要實現哪個介面
3.{…}匿名內部類的內容
注意事項:
1.匿名內部類,在建立物件的時候,只能使用唯一一次
2.匿名物件,在呼叫方法的時候只能呼叫唯一一次。