http://www.51testing.com/html/82/n-819282-3.html

接口與抽象類各自的優缺:

  接口缺點:如果向一個java接口加入一個新的方法時,所有實現這個接口的類都得編寫具體的實現。

  接口優點:一個類可以實現多個接口,接口可以讓這個類不僅具有主類型的行爲,而且具有其他的次要行爲,比如 HashMap主要類型是Map,而Cloneable接口使它具有一個次要類型,這個類型說明它可以安全的克隆.

  抽象類的缺點:一個類只能由一個超類繼承,所以抽象類作爲類型定義工具的效能大打折扣。

  抽象類的優點:具體類可從抽象類自動得到這些方法的缺省實現。

  抽象類與接口的區別:

  1、抽象類可以包含部分方法的實現,這是抽象類優於接口的一個主要地方。

  2、由於Java的單繼承,每個類只能從一個抽象類繼承,但是每個類可以實現多個接口,使用接口還可以實現Mixin混合類型的類。接口可以繼承多個接口,即接口間可以多重繼承。

  3、將類抽取出通用部分作爲接口容易,要作爲抽象類則不太方便,因爲這個類有可能已經繼承自另一個類。

        4、可以將接口和抽象類一起使用。在集合框架體系中,頂層接口Collection定義了一些方法,同時又提供了幾個抽象類 AbstractCollection、AbstractList、AbstractMap實現了一些方法,這樣具體的集合實現類可以選擇從抽象類中繼承或直接實現接口。

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