Java提升篇(二)

匿名內部類(詳解)

匿名內部類沒有名字,建立的格式以下:安全

new 父類構造函數(參數列表)| 實現接口 {
    // 匿名內部類的類體部分
}

缺陷: 匿名內部類不能重複使用,只能被使用一次:建立匿名內部類時會當即建立一個該類的實例,該類的定義會當即消失。函數

注意事項

  • 使匿名內部類時,必須繼承一個類或者實現一個接口,可是二者不可兼得,只能繼承一個類或者實現一個接口
  • 匿名內部類中不能定義構造函數
  • 匿名內部類不能存在任何的靜態成員變量和靜態方法
  • 匿名內部類爲局部內部類,因此局部內部類的全部限制一樣對匿名內部類生效
  • 匿名內部類不能是抽象的,必需要實現繼承的類或者實現的接口的全部抽象方法

使用形參必須爲final

給匿名內部類傳遞參數時,若該形參在內部類中須要被使用 時,那麼該參數必需要爲final。也就是說,當所在的方法的形參須要被內部類裏面使用時,該形參必須爲final(保持參數的一致性)。code

匿名內部類的初始化

程序中通常都是利用構造函數完成某個實例的初始化工做,可是匿名內部類沒有構造函數,使用構造代碼塊完成匿名內部類的初始化工做。繼承

多重繼承

多重繼承,指的是一個類能夠同時從多於一個的父類那裏繼承行爲和特徵,可是Java中爲了保證數據安全,只容許單繼承。可是Java提供了兩種方式曲折實現多繼承:接口

  • 接口
  • 內部類
相關文章
相關標籤/搜索