1. 程式人生 > >abstract class和interface的區別

abstract class和interface的區別

關於抽象類與繼承的關系

1.相同點 A. 兩者都是抽象類,都不能實例化。 B. interface實現類及abstrct class的子類都必須要實現已經聲明的抽象方法。 2. 不同點 A. interface需要實現,要用implements,而abstract class需要繼承,要用extends。 B. 一個類可以實現多個interface,但一個類只能繼承一個abstract class。 C. interface強調特定功能的實現,而abstract class強調所屬關系。 D. 盡管interface實現類及abstrct class的子類都必須要實現相應的抽象方法,但實現的形式不同。interface中的每一個方法都是抽象方法,都只是聲明的 (declaration, 沒有方法體),實現類必須要實現。而abstract class的子類可以有選擇地實現。


abstract class和interface的區別