接口和抽象類的區別

Java提供和支持建立抽象類和接口函數

  • 從設計層面來講,抽象是對類的抽象,是一種模板設計
  • 接口是行爲的抽象,是一種行爲的規範

它們的實現有共同點,不一樣點在於:設計

  • 接口中全部的方法隱含的都是抽象的。而抽象類則能夠同時包含抽象和非抽象的方法
  • 類能夠實現不少個接口,可是隻能繼承一個抽象類
  • 類能夠不實現抽象類和接口聲明的全部方法,固然,在這種狀況下,類也必須得聲明成是抽象的
  • 抽象類能夠在不提供接口方法實現的狀況下實現接口
  • Java接口中聲明的變量默認都是final的。抽象類能夠包含非final的變量
  • Java接口中的成員函數默認是public的。抽象類的成員函數能夠是private,protected或者是public
  • 接口是絕對抽象的,不能夠被實例化。抽象類也不能夠被實例化,可是,若是它包含main方法的話是能夠被調用的
相關文章
相關標籤/搜索