Интерфейсы. Java 8. Static-методы с одинаковыми именами

Интерфейсы. Java 8. Static-методы с одинаковыми именами

Класс может реализовывать несколько интерфейсов, содержащих статические методы с одинаковыми именами, независимо от их сигнатуры. Это возможно потому, что класс не наследует статические методы интерфейса, они принадлежат только интерфейсам.


interface P {
    static void doSome() {
        System.out.println("I do some");
    }
}

interface R {
    static int doSome() {
        return 10;
    }
}


class SomeClass implements P, R {
    /* успешно скомпилируется */
}
Интерфейсы и Абстрактные классы