1. 程式人生 > >Java學習筆記——介面與抽象類的區別

Java學習筆記——介面與抽象類的區別

在某種意義上,介面是比抽象類更抽象的類,介面的作用更多是起到標準化、規範化的作用。

它們之間的區別:

  1.抽象類可以有非抽象方法,而介面中只能有抽象方法(但在JDK1.8之後的版本中,介面可以擁有方法體,也就是說,介面也可以擁有非抽象方法了)

   2. 介面中的變數都是public static 修飾的

static:假如可以是非static的話,因一個類可以繼承多個介面,出現重名的變數,如何區分呢?

final:介面是一種更高層面的抽象,是一種規範、功能定義的宣告,所有可變的東西都應該歸屬到實現類中,這樣接口才能起到標準化、規範化的作用,所以介面中的屬性必然是final的

   3.介面中的方法只能是public,而抽象類中的方法可以為public、private、protected。