在 Java 中擴充套件與實現
    
    Rupam Yadav
    2023年10月12日
    
    Java
    
 
為了在 Java 中重用給定父類的屬性和行為,我們使用繼承的概念,它是物件導向程式語言的重要組成部分。這背後的想法是程式碼可重用性。implements 和 extends 關鍵字都用於在 Java 中建立一個具有父類屬性的新類。
我們可以使用下表更好地理解 extends 和 implements 關鍵字。
| 定義 | 執行 | 類 | 介面 | 方法 | |
|---|---|---|---|---|---|
| extends | 當子類(子類) extends基類(父類)時,它允許子類繼承基類中定義的程式碼。 | 一個類可以繼承另一個類。一個介面可以使用關鍵字 extends繼承另一個介面。 | 一個類只能擴充套件一個類。 | 一個介面可以擴充套件任意數量的介面。 | 子類擴充套件父類可能會或可能不會覆蓋基類中的所有方法。 | 
| implements | implements關鍵字用於實現介面。介面包含抽象方法。方法體在實現它的類中定義。 | 使用 implements關鍵字,一個類可以實現一個介面。 | 一個類可以實現多個介面。 | 一個介面永遠不能實現任何其他介面。 | 實現介面的類必須實現介面中的所有方法。 | 
在 Java 中使用 extends 關鍵字繼承類
在下面的程式碼中,我們有一個 Parent,它是基類,而 Child 作為子類。Child 類擴充套件了 Parent 類,這意味著 Child 類現在可以訪問 Parent 類中定義的欄位和方法。
在我們的 Test 類中,我們建立了一個子類 child 的物件,並在其上呼叫方法 displayNumber()。方法 displayString(),在父類中定義,可以通過在同一個 child 物件上呼叫它來執行。因此,它實現了程式碼可重用性的目的。
public class Test {
  public static void main(String args[]) {
    Child child = new Child();
    System.out.println("Calling Child class method : " + child.displayNumber());
    System.out.println("Calling Parent class method from child : " + child.displayString());
  }
}
class Parent {
  String str = "Hello there!";
  public String displayString() {
    return str;
  }
}
class Child extends Parent {
  int number = 25;
  public int displayNumber() {
    return number;
  }
}
輸出:
Calling Child class method : 25
Calling Parent class method from child : Hello there!
在 Java 中使用 implements 關鍵字繼承介面
我們有兩個介面,Cat 和 Dog,在下面的程式碼中,每個介面都包含一個抽象方法。類 Animals 實現了兩個介面,因此它必須實現介面中定義的方法。
因此,Animals 類實現了兩個介面並定義了它們的行為,這就是 Java 中介面的全部目的。
interface Cat {
  public void meow();
}
interface Dog {
  public void bark();
}
class Animals implements Dog, Cat {
  @Override
  public void meow() {
    System.out.println("Cat meows");
  }
  @Override
  public void bark() {
    System.out.println("Dog barks");
  }
}
public class Test1 {
  public static void main(String args[]) {
    Animals animals = new Animals();
    animals.bark();
    animals.meow();
  }
}
輸出:
Dog barks
Cat meows
        Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe
    
作者: Rupam Yadav
    Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn