1. 程式人生 > >介面與抽象類的辨析

介面與抽象類的辨析

1,介面與抽象類的辨析

1.1概念辨析
  • 當"我是你的一種時",子類繼承父類,即代表了類與類之間的關係,該體系的類都應該具備父類的成員。
    是is a的關係。
  • 當"我應該具備這些功能時",類實現介面,即代表類與功能的關係,將功能的宣告與實現分離。並不是該體系內所有類都需要的額外功能。
    是like a的關係。
    介面是功能的集合,強調功能。
    抽象類是一類事務共性功能與屬性的集合,強調資料型別本身。
1.2使用辨析
  • 類繼承類extends,只能單繼承
    介面繼承介面extends可以多繼承
    類實現介面implements可以多實現
    介面不可以繼承類!

  • 抽象類中可以有非抽象方法
    介面中全部為抽象方法

  • 抽象類具有成員變數
    介面沒有普通的成員變數

  • 抽象類中的成員無固定修飾符
    介面中的成員有固定修飾符