java編程思想讀書筆記----第九章 接口

1、抽象類與抽象方法

  有時,我們希望建立一個通用接口,通過這個接口操作一系列類。該通用接口被稱爲抽象基類,簡稱作抽象類。抽象類只是表示一個接口,沒有具體的實現內容,因此創建一個抽象類的對象沒有任何意義,會報錯。建立抽象類的唯一理由是,不同的子類可以用不同的方法表示此接口。
  java提供了一個叫做抽象方法的機制,這種方法是不完整的:只有聲明而沒有方法體,用abstract修飾。如果一個類包含一個或者多個抽象方法,該類必須被限定爲抽象的。
  如果從抽象類繼承,並想創建新類的對象,就必須爲基類中的所有抽象方法提供方法定義。否則,導出類便也是抽象類。

2、接口

  interface關鍵字使抽象的概念更向前邁了一步,abstract關鍵字允許人們在類中創建一個或多個沒有定義的方法——提供了接口部分,但仍可以包含有具體實現的方法。interface產生一個完全抽象的類,它根本不包含任何具體實現。
  接口中的方法必須被定義爲public;否則,它們將只得到默認的包訪問權限,這樣在方法被繼承的過程中,其可訪問權限就被降低了,這是java編譯器所不允許的。另外,在接口中方法自動就是public的(即使沒有public聲明)。

3、完全解耦

  策略設計模式:創建一個能夠根據所傳遞的參數對象的不同而具有不同行爲的方法。

4、java中的多重繼承

  一個類可以繼承(implements)多個接口,但只能繼承(extends)一個類。一個接口可以繼承(extends)多個接口。
  組合接口時可能會造成方法名稱衝突,當覆蓋,重載與實現混在一起時,便很難區分。因此,要避免在打算組合的接口中使用相同的方法名。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章