從頭認識java 7 4 實現多重介面

2021-09-02 12:50:45 字數 1039 閱讀 4208

這一章節我們來說一下介面另乙個特性:多重介面。

在平常,使用繼承,我們只是繼承某一類,只能夠一種向上轉型,但是在介面的使用方面,可以實現多個介面,然後實現多種的向上轉型。

我們先上**:

package com.ray.ch07;

public class test

public static void testeat(caneat caneat)

public static void testrun(canrun canrun)

public static void main(string args)

}inte***ce canrun

inte***ce canswim

inte***ce caneat

class person implements caneat, canrun, canswim

@override

public void run()

@override

public void eat()

}class fish implements canswim

}

解釋一下上面的**:

1.建立了三個介面:會游泳,會跑,會吃

2.建立乙個person類,實現上面三個介面

3.建立乙個fish類,只是實現游泳的介面

4.然後在測試**裡面使用策略設計模式,測試一下三種技能

在**裡,person 分別向上轉型為canrun、canswim、caneat這三種型別,這樣大大增強**的靈活性,要不然我們就必須在測試**方面增加**,才能夠完整測試。而且也不利於**的復用,假如canswim這個不是介面,他變成了基類,但是他的實現可能對於person或者fish來說都是不合適的,而且**可能歧義,但是現在是介面,只是一種協議,說明子類只是具備某種功能,而這個功能怎麼實現,具體需要根據子類的實現來說,這樣**更能夠廣泛的復用。

總結:這一章節主要講述了介面的多重實現,以及他的靈活性。

這一章節就到這裡,謝謝。目錄

從頭認識java 1 3 隱藏具體實現

這一章節我們來聊聊為什麼需要隱藏具體實現。一般來說,程式設計分為類的建立者與類的使用者,建立者將一部分脆弱的 隱藏起來,只暴露某些必須的方法給使用者,這樣,建立者就可以根據需要修改隱藏部分,而不會影響使用者的呼叫。為什麼需要隱藏具體實現。1 讓使用者不能隨意訪問所有的 例如 package com....

從頭認識java 1 5 繼承(2)

接著上一章節,我們來繼續介紹繼承。1.子類呼叫方法時的查詢方法的順序 package com.ray.ch01 public class animal public void sleep package com.ray.ch01 public class bird extends animal pu...

從頭認識java 8 6 匿名內部類

這一章節我們來討論一下匿名內部類。我們之前已經提到了內部類,如下 package com.ray.ch03 public class test private mytest mytest public static void main string args inte ce mytest 上面的內部...