聲明:本欄目所使用的素材都是凱哥學堂VIP學員所寫,學員有權匿名,對文章有最終解釋權;凱哥學堂旨在促進VIP學員互相學習的基礎上公開筆記。
接口就是純抽象類的演變,實現接口的類都必須實現接口的的方法。接口里全部都是方法的聲明,沒有方法的實現。
接口里的方法都是public修飾的,就算不寫public關鍵字,也是默認public的,里面的申請的屬性 全部都是public 靜態常量,接口里沒有構造器,靜態塊和實例塊。
例如:
在c這種面向對象的編程語言中也有抽象類,但是要求的不嚴格,c要求的規范的確是一個類繼承一個普通類和多個抽象類,但是很多人不遵守,一個類繼承多個普通類,java看到其中的缺陷,并將要求變的嚴格,一個類只能繼承一個普通類,但是可以實現多個接口。
在jdk1.7之后,接口里可以申請public靜態方法了。
一個類可以實現很多個接口。接口和接口之間可以多繼承,例如接口A繼承接口B和C,一個類D實現了A接口,那么相當于D類同時實現了ABC三個接口。
最重要的是凱哥贈語:凱哥贈語:只要申請了接口,就應該用接口編程!
工廠設計模式屬于創建型設計模式之一,簡單工廠設計模式僅僅是工廠設計模式的一個縮減版。
簡單工廠設計模式通過設計一個接口,和多個實現于此接口的實現類,再創建一個工廠類,工廠類申請一個可傳入變量的創建實現類的靜態方法,方法里通過判斷傳入的變量值的不同,從而隱藏式的創建出對應的接口實現類。通過new接口的方式將接口的實現類傳到接口類型的實例中。
實現代碼例子:(接口) A = (工廠類).(創建實現類方法)(變量);
我對簡單工廠好處的理解,簡單工廠通過傳入工廠類里創建接口實現類方法的變量就可以隱藏的創建接口實現類,不僅僅是功能的安全系數提高了,而且對于以后進行代碼的更改變動也提供了方便,只需要進行少部分的代碼和變量參數的變動。
具體代碼如下