抽象方法:僅有宣告而沒有方法體。
抽象類:包含乙個或者多個抽象方法的類,必須定義為抽象的(抽象類也可以沒有抽象方法)。
目的:組織建立這個類的物件。 1.
inte***ce 預設是default許可權 可以新增public修飾符。
2. inte***ce中的變數都是 public static final 修飾的,介面中定義的變數不能是null,即不能是「空final」。
3. 可以使用inte***ce實現多繼承。
4. 可以使用inte***ce之間互相繼承實現介面的擴充套件。
5. 介面的巢狀,巢狀在另乙個介面中的介面自動是public的,但是巢狀的類中的介面可以用private修飾;
private介面不能在定義它的類之外被實現,當實現某個介面時,並不需要實現巢狀在其內部的任何介面。
通常如果乙個問題有多個解決方案或者稍有區別的操作時,最簡單的方式就是利用if-else or switch-case方式來解決,對於簡單的解決方案這樣做無疑是比較簡單、方便、快捷的,但是如果解決方案中包括大量的處理邏輯需要封裝,或者處理方式變動較大的時候則就顯得混亂、複雜,而策略模式則很好的解決了這樣的問題,它將各種方案分離開來,讓操作者根據具體的需求來動態的選擇不同的策略方案。
優點 1.擴充套件方便
2.可以將一些複雜的業務邏輯封裝起來
缺點 隨著策略的增加,子類會變的很多。
JAVA程式設計思想學習筆記(八)介面
抽象方法 這種方法不完整,僅有宣告而沒有方法體。所採用的語法如下 abstract void f 抽象類 包含抽象方法的類叫做抽象類,如果乙個類包含乙個或多個抽象方法,該類必須被限定為抽象的。關鍵字 inte ce 介面定義了乙個完全的抽象類,它根本就沒有提供任何具體的實現。它允許建立者確定方法名 ...
Clr via C 讀書筆記 Cp13介面
介面只提供簽名,不提供實現 等效於契約 凡事能使用具名介面的地方都能夠使用實現了的介面。定義很簡單,fcl也提供了大量的現成介面供使用 類不能多繼承,介面可以 變數可以是介面,但是只能呼叫這個介面約定的操作 隱式介面的操作可以通過類變數進行,而顯示介面的實現,只能通過介面型別的變數進行 協變和逆變 ...
Java學習筆記(20) 介面
介面 介面相當於所有方法都是抽象方法,所有屬性都是常量的抽象類。介面中只能宣告常量和抽象方法。介面可以定義常量,可以引用實現類的例項。介面不能直接例項化。具體類實現介面必須實現全部的抽象方法。介面可以繼承介面。類可以實現多個介面,介面和實現類是父子型別關係。具體類實現介面必須實現全部的抽象方法,就說...