1. 程式人生 > >接口和抽象類的區別是什麽?

接口和抽象類的區別是什麽?

ted 不能 繼承 vat 抽象類 區別 TE public 被調用

  從設計層面講,抽象是類的抽象,是一種模版設計,接口是行為抽象,是一種行為規範。

  • 抽象類可以存在抽象方法和非抽象方法,接口只能存在抽象方法。
  • 類只可以繼承一個抽象類,但是可以實現多個接口。
  • 抽象類聲明的變量可以是非final的,接口聲明的變量默認為final的。
  • 抽象類的成員函數可以為public、protected、private的,接口的成員函數只能是public。
  • 類可以不實現抽象類和接口的所有方法,則這個類必須聲明成抽象的。
  • 抽象類可以在不提供接口方法的情況下實現接口。
  • 抽象類不能被實例化,但是如果它包含main方法的話是可以被調用的,接口是絕對抽象的,不能被實例化。

接口和抽象類的區別是什麽?