接口和抽象類的區別——每天一個Java小常識

接口和抽象類的區別是什麼

  1. 接口的方法默認是 public,所有方法在接口中不能有實現(Java 8 開始接口方法可以有默認實現),抽象類可以有非抽象的方法

  2. 接口中的實例變量默認是 final 類型的,而抽象類中則不一定

  3. 一個類可以實現多個接口,但最多隻能實現一個抽象類

  4. 一個類實現接口的話要實現接口的所有方法,而抽象類不一定

  5. 接口不能用 new 實例化,但可以聲明,但是必須引用一個實現該接口的對象 從設計層面來說,抽象是對類的抽象,是一種模板設計,接口是行爲的抽象,是一種行爲的規範。

備註:在JDK8中,接口也可以定義靜態方法,可以直接用接口名調用。實現類和實現是不可以調用的。如果同時實現兩個接口,接口中定義了一樣的默認方法,必須重寫,不然會報錯。

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