這篇文章主要介紹了詳解JAVA中implement和extends的區別的相關資料,extends是繼承接口,implement是一個類實現一個接口的關鍵字,需要的朋友可以參考下
#詳解JAVA中implement和extends的區別
extends是繼承父類,只要那個類別不是宣告為final或那個類別定義為abstract的就能繼承,Java中不支援多重繼承,但是可以用接口來實現,這樣就要用到implements,繼承只能繼承一個類,但implements可以實現多個接口,用逗號分開就行了比如class A extends B implements C,D,E
# implements是一個類別實作一個介面用的關鍵字,他是用來實作介面中定義的抽象方法。
還有幾點要注意:
(1)介面可以被多重implements,抽象類別只能被單一extends
(2)介面只有定義,抽象類別可以有定義和實作
(3)介面的欄位定義預設為:public static final, 抽象類別欄位預設為"friendly"(本包可見)
# 例如:people是一個介面,他裡面有say這個方法。 public interface people(){ public void say();}但是介面沒有方法體。只能透過一個具體的類別去實現其中的方法體。例如chinese這個類,就實作了people這個介面。
public class chinese implements people { public void say() {System.out.println("你好!"); } }
在java中implements表示子類別繼承父類,如類別A繼承類別B寫成class A implements B{}
#與Extends的區別
extends, 可以實作父類,也可以呼叫父類初始化this.parent()。而且會覆蓋父類別定義的變數或函數。這樣的好處是:架構師定義好接口,讓工程師實現就可以了。整個專案開發效率提高,但開發成本大大降低。
implements,實作父類,子類別不可以覆寫父類別的方法或變數。即使子類別定義與父類別相同的變數或函數,也會被父類別取代掉。
這兩種實現的具體使用,是要看項目的實際情況,需要實現,不可以修改implements,只定義接口需要具體實現,或者可以被修改擴展性好,用extends。
以上是Java中關於implement與extends的差異詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!