Java8 實現多接口,當有多個相同默認方法時該選擇哪個實現?

若是一個類使用相同的函數簽名從多個地方(好比另外一個類或接口)繼承了方法,經過三條
規則能夠進行判斷。
(1) 類中的方法優先級最高。類或父類中聲明的方法的優先級高於任何聲明爲默認方法的優
先級。

(2) 若是沒法依據第一條進行判斷,那麼子接口的優先級更高:函數簽名相同時,優先選擇
擁有最具體實現的默認方法的接口,即若是B繼承了A,那麼B就比A更加具體。
(3) 最後,若是仍是沒法判斷,繼承了多個接口的類必須經過顯式覆蓋和調用指望的方法,顯式地選擇使用哪個默認方法的實
函數

相關文章
相關標籤/搜索