【java】抽象類和接口區別

1.語法層面上的區別設計

  1)抽象類能夠提供成員方法的實現細節,而接口中只能存在public abstract 方法;繼承

  2)抽象類中的成員變量能夠是各類類型的,而接口中的成員變量只能是public static final類型的;接口

  3)接口中不能含有靜態代碼塊以及靜態方法,而抽象類能夠有靜態代碼塊和靜態方法;變量

  4)一個類只能繼承一個抽象類,而一個類卻能夠實現多個接口語法

2.設計層面上的區別方法

  1)抽象類是對一種事物的抽象,即對類抽象,而接口是對行爲的抽象。抽象類是對整個類總體進行抽象,包括屬性、行爲,可是接口倒是對行進行抽象。static

  2)抽象類是是否是的關係,接口是有沒有的關係。好比飛機和鳥,蜂鳥,麻雀繼承了鳥的屬性。飛機和鳥有飛行屬性,由於能夠把飛行定義爲接口。ab

相關文章
相關標籤/搜索