兩個父介面定義了相同方法簽署的預設方法,發生編譯錯誤,解決的方式是明確重新定義draw,無論是重新定義為抽象或預設方法,若重新定義為預設方法時,想明確呼叫某個父介面的draw方法,必須使用介面名稱與super明確指定
如果類別實作的兩個介面擁有相同的父介面,其中一個介面重新定義了父介面的預設方法,而另一個介面沒有,那麼實作類別會採用重新定義的版本。
若子類別繼承了父類別又實作了某介面,而父類別的方法與介面中的預設方法具有相同方法簽署,就採用父類別的方法定義。
簡單來說,類別的定義優先於介面的定義,若有重新定義,就以重新定義為主,必要時使用介面與super指定預設方法。
介面可以定義靜態方法,介面的公開靜態方法,演算流程可能被拆解為數個小流程,定義於其他靜態方法中,若這些方法不用公開給外界,可以定義為private的靜態方法。