在 Java 中擴充套件與實現

Rupam Yadav 2023年1月30日 2021年6月30日
  1. 在 Java 中使用 extends 關鍵字繼承類
  2. 在 Java 中使用 implements 關鍵字繼承介面
在 Java 中擴充套件與實現

為了在 Java 中重用給定父類的屬性和行為,我們使用繼承的概念,它是物件導向程式語言的重要組成部分。這背後的想法是程式碼可重用性。implementsextends 關鍵字都用於在 Java 中建立一個具有父類屬性的新類。

我們可以使用下表更好地理解 extendsimplements 關鍵字。

定義 執行 班級 介面 方法
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 關鍵字繼承介面

我們有兩個介面,CatDog,在下面的程式碼中,每個介面都包含一個抽象方法。類 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
Author: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

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