1. 程式人生 > 其它 >Java的繼承與實現

Java的繼承與實現

  前面的章節我們提到過面向物件有三個特徵:封裝、繼承、多型。

  繼承可以使用現有類的所有功能,並在無需重新編寫原來的類的情況下對這些功能進行擴充套件。這種派生方式提現了傳遞性,在Java中,除了繼承,還有一種提現傳遞性的方式叫做實現。

  繼承和實現兩者的明確定義和區別如下:

繼承(Inheritance):如果多個類的某個部分的功能相同,那麼可以抽象出一個類出來,把他們的相同部分都放到父類裡,讓他們都繼承這個類。

實現(Implement):如果多個類處理的目標是一樣的,但是處理的方法方式不同,那麼就定義一個介面,也就是一個標準,讓他們的實現這個介面,各自實現自己具體的處理方法來處理那個目標

  繼承指的是一個類(稱為子類、子介面)繼承另外的一個類(稱為父類、父介面)的功能,並可以增加它自己的新功能的能力。所以,繼承的根本原因是因為要複用,而實現的根本原因是需要定義一個標準

  在Java中,繼承使用extends關鍵字實現,而實現通過implements關鍵字。

  特別需要注意的是,Java中支援一個類同時實現多個介面,但是不支援同時繼承多個類。但是這個問題在Java 8之後也不絕對了。

簡單點說,就是同樣是一臺汽車,既可以是電動車,也可以是汽油車,也可以是油電混合的,只要實現不同的標準就行了,但是一臺車只能屬於一個品牌,一個廠商。

class Car extends
Benz implements GasolineCar, ElectroCar{ }

  以上,我們定義了一輛汽車,他實現了電動車和汽油車兩個標準,但是他屬於賓士這個品牌。像上面這樣定義,我們可以最大程度的遵守標準,並且複用賓士車所有已有的一些功能元件。

  另外,在介面中只能定義全域性常量(static final)和無實現的方法(Java 8以後可以有defult方法);而在繼承中可以定義屬性方法,變數,常量等。