Java8中使用默認方法實現多重繼承的測試

測試內容:

當一個類從超類和接口繼承相同的方法時會發生什麼?

一個超類MyClass:

package insping;
public class MyClass {
    public String getString() {
        return "MyClass";
    }
}

一個接口MyInterface:

package insping;
public interface MyInterface {
    default public String getString() {
        return "MyInterface";
    }
}

測試類Test:

package insping;
public class Test extends MyClass implements MyInterface {

    public static void main(String[] args) {
        System.out.println(new Test().getString());
    }
}

結果:

輸入內容:MyClass

如果一個類從其超類繼承了一個方法(抽象或具體),並且從其接口之一繼承了具有相同簽名的方法,則該類繼承超類的方法,並忽略超級接口中的方法。

如果通過類層次結構在類中不可用相同的方法,則此規則將接口中的默認方法視爲備用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章