Java 中介面和類的區別
類
類是建立單個物件的藍圖。類可以包含以下任何變數型別。
區域性變數 − 在方法、建構函式或程式碼塊內部定義的變數稱為區域性變數。變數將在方法內宣告和初始化,並在方法完成後銷燬。
例項變數 − 例項變數是在類內部但位於任何方法外部的變數。這些變數在類例項化時初始化。可以從該特定類的任何方法、建構函式或程式碼塊中訪問例項變數。
類變數 − 類變數是在類內部、任何方法外部,使用 static 關鍵字宣告的變數。
介面
介面是 Java 中的一種引用型別。它類似於類。它是抽象方法的集合。類實現介面,從而繼承介面的抽象方法。
除了抽象方法外,介面還可以包含常量、預設方法、靜態方法和巢狀型別。方法體僅存在於預設方法和靜態方法中。
編寫介面類似於編寫類。但是類描述了物件的屬性和行為。而介面包含類實現的行為。
以下是類和介面之間的一些重要區別。
序號 | 關鍵點 | 類 | 介面 |
---|---|---|---|
1 | 支援的方法 | 類可以同時具有抽象方法和具體方法。 | 介面只能具有抽象方法。從 Java 8 開始,它還可以具有預設方法和靜態方法。 |
2 | 多重繼承 | 不支援多重繼承。 | 介面支援多重繼承。 |
3 | 支援的變數 | 支援 final、非 final、static 和非 static 變數。 | 僅允許 static 和 final 變數。 |
4 | 實現 | 類可以實現介面。 | 介面不能實現介面,它可以擴充套件介面。 |
5 | 關鍵字 | 類使用 class 關鍵字宣告。 | 介面使用 interface 關鍵字宣告。 |
6 | 繼承 | 類可以使用 extends 關鍵字繼承另一個類並實現介面。 | 介面只能繼承介面。 |
7 | 訪問 | 類可以具有任何型別的成員,例如 private、public。 | 介面只能具有 public 成員。 |
8 | 建構函式 | 類可以具有建構函式方法。 | 介面不能具有建構函式。 |
類與介面示例
public class JavaTester { public static void main(String args[]) { Animal tiger = new Tiger(); tiger.eat(); Tiger tiger1 = new Tiger(); tiger1.eat(); } } interface Animal { public void eat(); } class Tiger implements Animal { public void eat(){ System.out.println("Tiger eats"); } }
輸出
Tiger eats Tiger eats
廣告