在 Java 中擴充套件與實現
Rupam Yadav
2023年10月12日
為了在 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
作者: 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