keyword_1 java 抽象類與接口

   18年也是倒黴,元旦放個假,還給整感冒了,出差來當天打了一個點滴,不過來了還是發熱了。以至於這兩天都沒有精神,頭痛的要死。今天晚上還是簡單的從第一個關鍵詞(抽象類與接口)開始學習。看到這兩個關鍵字,很多人應該和我一樣,好像知道,可是到底有什麼本質的區別又弄不清楚。搜索一下,有很多這樣的文章。我也是參考,寫一寫。加深印象。

     

  看了看

第一點:

  1. 在抽象類中,可以有抽象方法,也可以有非抽象方法,因爲abstract是需要被繼承的。而且抽象類中的成員變量類型沒有要求,但是接口(interface)中一般是沒有成員變量,只有方法而且只能是public的(某種意義上說,是一種特殊的abstract class),如果有成員變量,有且只能是public static final 的。
  2. 從本質上來說,或者說從java的設計層面來講。抽象類和接口是相輔相成的。兩者結合起來,才能實現java的面向對象,以及軟件的設計原則(開-閉原則)。抽象類是一類事物的基類(或者說把一類事物的最基本特性歸總在一起),比如鋼筆,鉛筆,毛筆,從字面上看,抽象類可以取名叫筆,具體是什麼筆,可以由繼承類自定義。再說說接口(interface),接口是需要實現,繼承只能繼承一個,接口的實現可以是多個。從這個設計就可以看出,接口的目的就是設計原則的開原則,不需要去動基層設計,誰需要這個功能,就實現這個接口就可以。還是前面幾個筆的例子,比如毛筆說,我要有書法功能,那好,整一個書法接口你,你要怎麼實現,你自己玩去。鉛筆說我要畫畫,好,再整一個畫的接口,愛咋地咋地....接口更多的是在動作行爲上,而抽象類更多的是在基礎屬性上。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章