整理 Effective Java 書中 Item 22: Prefer interfaces to abstract classes 心得筆記
主旨
Java 的介面(interface)本質是用來定義「型別」的 —— 換句話說,介面要描述的是「這個物件可以做什麼」。如果你只是想要存一些常數,卻用介面來達成,那麼你就誤用了這個語言工具。
整理 Effective Java 書中 Item 22: Prefer interfaces to abstract classes 心得筆記
Java 的介面(interface)本質是用來定義「型別」的 —— 換句話說,介面要描述的是「這個物件可以做什麼」。如果你只是想要存一些常數,卻用介面來達成,那麼你就誤用了這個語言工具。
整理 Effective Java 書中 Item 20: Prefer interfaces to abstract classes 心得筆記
Java 提供兩種方式定義「可以有多個實作」的類型:介面(interface)和抽象類別(abstract class)。在 Java 8 引入 default methods 之後,兩者都能提供方法實作。但總體來說,介面更靈活、延伸性更好,也比較不會限制使用者的設計。本章重點就是告訴你:大多數情況下,請選擇介面。