首頁  >  文章  >  Java  >  Java中關於implement與extends的差異詳解

Java中關於implement與extends的差異詳解

黄舟
黄舟原創
2017-08-22 10:16:362521瀏覽

這篇文章主要介紹了詳解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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn