1. 程式人生 > >Interface與abstract類的區別

Interface與abstract類的區別

interface rap inter 訪問 實現類 -a mic 1.3 成員

一、從類的繼承來說:
  1. 類可以實現很多個接口,但是只能繼承一個抽象類
二、從屬性來說:
  1. Java接口中聲明的變量默認都是final的。抽象類可以包含非final的變量。
  2. 接口中定義的變量默認是public static final 型,且必須給其初值,所以實現類中不能重新定義,也不能改變其值。
  3. 抽象類中的變量默認是 friendly 型,其值可以在子類中重新定義,也可以重新賦值。
三、從方法上來說:
  1. 接口中所有的方法隱含的都是抽象的。而抽象類則可以同時包含抽象和非抽象的方法
  2. Java接口中的成員函數默認是public的。抽象類的成員函數可以是private,protected或者是public。
註意: 關於抽象類
JDK 1.8以前,抽象類的方法默認訪問權限為protected JDK 1.8時,抽象類的方法默認訪問權限變為default 關於接口 JDK 1.8以前,接口中的方法必須是public的 JDK 1.8時,接口中的方法可以是public的,也可以是default的 JDK 1.9時,接口中的方法可以是private的

Interface與abstract類的區別