В таком случае программисту необходимо определить прокси-метод в котором нужно использовать нововведенную в JDK 8 конструкцию X.super.foo()
Пример:
interface A { void foo() default ...; }
interface B { void foo() default ...; }
class C implements A, B {
/* required */ public void foo() { A.super.foo(); }
}
P.S. Не сочтите ленью описывать в топике. Моей целью было вкратце осветить основные фичи восьмерки. Если бы я написал о всех фичах, то это было бы похоже на топик-перевод презентации. Кому интересно, тот может посмотреть презентацию и узнать все интересующие его детали.
При пересечении default-реализаций будет использоваться реализация более специфического интерфейса. К примеру если интейрфейс B extends A, то интерфейс B более специфический.
Если возникнет конфликт методов между супер-классом и супер-интерфейсом, то метод супер-класса имеет более высокий приоритет.
Extension-методы сделаны не для упрощения синтаксиса. Перед Ораклом стояла более глобальная задача. Java обросла фреймворками и различными API, которые не могут нормально развиваться поскольку на них уже очень много написано. Extension-методы позволят им развивать и дополнять свои API не разрушая существующий код. Фактически это стимуляция бурного развития Java на уровне языка.
Теперь различные API(в том числе JDK) смогут вводить многопоточность прозрачно для клиентского кода.
А сейчас Java не готова к массовой многопоточности.
Современный мир требует повышения производительности и предоставляет для этого все условия(современные процессоры). Все внешние условия для массовой многопоточности созданы. Можете объяснить что значит «Java не готова»?
А в твитте ссылочку на facebook поставил :)
Вероятно мало кто силен в теме голосования.
Пример:
P.S. Не сочтите ленью описывать в топике. Моей целью было вкратце осветить основные фичи восьмерки. Если бы я написал о всех фичах, то это было бы похоже на топик-перевод презентации. Кому интересно, тот может посмотреть презентацию и узнать все интересующие его детали.
Если возникнет конфликт методов между супер-классом и супер-интерфейсом, то метод супер-класса имеет более высокий приоритет.
Возможно вы имели ввиду sun.reflect.MagicAccessorImpl?
Теперь различные API(в том числе JDK) смогут вводить многопоточность прозрачно для клиентского кода.
Современный мир требует повышения производительности и предоставляет для этого все условия(современные процессоры). Все внешние условия для массовой многопоточности созданы. Можете объяснить что значит «Java не готова»?