整理 Effective Java 書中 Item 20: Prefer interfaces to abstract classes 心得筆記

主旨

Java 提供兩種方式定義「可以有多個實作」的類型:介面(interface)和抽象類別(abstract class)。在 Java 8 引入 default methods 之後,兩者都能提供方法實作。但總體來說,介面更靈活、延伸性更好,也比較不會限制使用者的設計。本章重點就是告訴你:大多數情況下,請選擇介面。