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

更新於: 2023-12-07

21K+ 閱讀量

開啟您的 職業生涯

完成課程獲取認證

開始學習
廣告