Java中接口和抽象類的區別

01 接口

接口是公開的,不能有私有的方法或者變量,接口中全部方法都沒有方法體,經過關鍵字interface實現。函數

02 抽象類

若是一個類中含有抽象方法,那麼這個類就是抽象類。一般用abstract修飾。抽象類中能夠含有私有變量或私有方法。繼承

03 相同點

  • 都不能被實例化
  • 接口的實現類或抽象類的子類都只有實現了接口或抽象類中的方法後才能實例化。

04 區別

  1. 一個類能夠實現多個接口,可是最多隻能繼承一個抽象類。接口

  2. 抽象類能夠包含具體的方法,但接口中全部方法都是抽象的。變量

  3. 抽象類能夠聲明和使用字段,接口不能夠。可是接口能夠建立靜態的final常量。構造函數

  4. 接口的方法都是public,抽象類的方法能夠爲任意訪問修飾符。方法

  5. 抽象類能夠定義構造函數,接口不能夠。實例化

相關文章
相關標籤/搜索