Java接口和抽象類介紹與區別

在說二者區別之前,首先看一看二者的一些特性,如下 1、2 所示:

1、抽象類

  • 有抽象方法的類一定是抽象類;
  • 抽象類也可以沒有任何一個抽象方法;
  • 抽象類也可以有非抽象方法;

2、接口

  • 接口中的所有方法都是抽象的,且不用開發者顯示定義(jdk8 之後,添加了靜態方法和默認方法);
  • 接口中任何域都默認是 static 和 final 的;

二者的區別:

  • 類和接口是不同的類型,類是使用 class 關鍵字聲明的,接口是使用 interface 關鍵字聲明的;
  • 抽象類是對類的抽象,而接口是對行爲或者功能的抽象;
  • 抽象類可以有具體的方法和屬性,接口只能有抽象方法(jdk 1.8之前)和靜態不可變常量;
  • 抽象類只能被單繼承,接口可以實現多繼承;

 

 

 

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