java介面

biubiubiuo發表於2018-02-11

interface和class屬於同一級別

 

interface 介面名{  

  //靜態常量、抽象方法

}

 

介面的特點:

  1.介面只能存放靜態常量和抽象方法

  2.java介面是對功能的擴充套件(比如人都睡覺,但是不一定喝酒。喝酒就可以作為一個介面,可以有也可以沒有)

  3.通過實現介面,java可以實現多實現

  4.一個類可以同時繼承(extends)一個父類並實現(implement)多個介面

  5.介面與介面之間可以通過使用extends來產生繼承關係

 

介面與抽象類的區別:

  1.(1)抽象類和具體實現類之間是一種繼承關係,也就是說如果採用抽象類的方式,則父類和子類在概念上應該是相同的

   (2)介面和實現類在概念上不要求相同,介面只是抽取互相之間沒有關係的類的共同特徵,而不去關注類之間的關係,他可以使沒有層次關係的類具有相同的行為。(比如張三和大黃(狗),兩個實現類沒有層次繼承關係,但是他們都會呼吸,呼吸就可以作為介面)

  2.抽象類是對一組具有相同屬性和行為的邏輯上具有關係的事物的一種抽象,而介面則是對一組具有相同屬性和行為的邏輯上不相關的事物的一種抽象

  3.對於介面和抽象類的選擇,反映出設計人員看待問題的不同角度。抽象類用於一組相關的事物,表示“is-a”的關係;而介面用於一組不相關的事物,表示“具備”的關係

 

interface和class屬於同一級別

interface 介面名{
	//靜態常量、抽象方法
}

介面的特點:
1.介面只能存放靜態常量和抽象方法
2.java介面是對功能的擴充套件(比如人都睡覺,但是不一定喝酒。喝酒就可以作為一個介面,可以有也可

以沒有)
3.通過實現介面,java可以實現多實現
4.一個類可以同時繼承(extends)一個父類並實現(implement)多個介面
5.介面與介面之間可以通過使用extends來產生繼承關係

介面與抽象類的區別:
1.(1)抽象類和具體實現類之間是一種繼承關係,也就是說如果採用抽象類的方式,則父類和子類在

概念上應該是相同的
(2)介面和實現類在概念上不要求相同,介面只是抽取互相之間沒有關係的類的共同特徵,而不去關

注類之間的關係,他可以使沒有層次關係的類具有相同的行為。(比如張三和大黃(狗),兩個實現類

沒有層次繼承關係,但是他們都會呼吸,呼吸就可以作為介面)
2.抽象類是對一組具有相同屬性和行為的邏輯上具有關係的事物的一種抽象,而介面則是對一組具有相

同屬性和行為的邏輯上不相關的事物的一種抽象
3.對於介面和抽象類的選擇,反映出設計人員看待問題的不同角度。抽象類用於一組相關的事物,表示

“is-a”的關係;而介面用於一組不相關的事物,表示“具備”的關係

 

相關文章