介面和抽象類別用來定義行為契約。介面定義了方法簽名,而抽象類別包含方法聲明和實作。介面不能實例化,而抽象類別可以。介面中的方法預設為公共抽象,而抽象類別中的方法預設為受保護抽象。介面用於定義通用 API,而抽象類別用於建立類別基類別和提供基本行為。
Java 中介面與抽象類別的用法與差異
簡介
介面和抽象類別是Java 中兩個很重要的概念,它們都被用來定義行為契約,但它們有不同的用法和特徵。
介面
程式碼範例:
public interface Drawable { void draw(); }
抽象類別
程式碼範例:
public abstract class Shape { protected String color; public abstract void draw(); }
用法
介面:用於定義公共API,例如可以由多個類別實現的統一介面。
Drawable
介面可以表示任何可以繪製的類,而無需考慮具體的實作。 抽象類別:用於建立一個類別的基類,並提供一些基本行為和狀態,同時允許子類別自訂這些行為和狀態。
Shape
抽象類別可以提供一些形狀的共同屬性(如顏色),並定義一個抽象的draw()
方法,用於子類別實現具體的繪製行為。 差異
實戰案例
考慮一個自訂形狀繪製應用程序,其中需要顯示各種形狀。
Drawable
介面來定義繪製方法。 Rectangle
、Circle
等形狀的類,這些類別實作 Drawable
介面並提供自己的繪製實作。 draw()
方法來顯示它們。 以上是Java 中介面和抽象類別的用法和區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!