очень необычно на самом деле. Я искал инфу о Функциональный интерфейс, чтобы посмотреть кто как их в лямдах юзает. Нахожу этот видос. Начали с интерфейсов закончили анонимным классом...ну хз честно
Функциональные интерфейсы созданы для создания лямбда выражений. А лямбда выражения это и есть анонимные классы. Подробнее в видео «java stream api” на моем канале
Ты чего). Объяснили отлично, как раз-таки мало кто объяснял именно про абстрактный интерфейс. Многие начинают с лямбды и оттуда уже заходят на интерфейс. А здесь отлично объяснили что из себя представялет именно абстрактный интерфейс и указали тонкости с аннотацией и дефолт методами. Также создал отдельные классы и показал пример как бы они выглядели если не было функционального программирование (а так они и выглядели до Java8). Я бы еще добавил уточнение почему именно 1 абстрактный метод разрешается в интерфейсе - потому что если сделать 2 метода, то Java не поймет с каким из методов ей работать. + аннотация задает такое свойство интерфейсу, что если мы туда (в функциональный интерфейс) поместим еще 1 асбтрактный метод, то среда разработки выдаст нам ошибку на @аннотацию, а если аннотацию убрать - то ошибка будет только в лямбда выражениях. Так что @аннотация не делает интерфейс функциональным, ее делает наличие одного абстрактного метода (ТОЛЬКО одного) Благодарю за объяснения, как раз прохожу эту тему)
Так класно объяснил!
спасибо
очень необычно на самом деле. Я искал инфу о Функциональный интерфейс, чтобы посмотреть кто как их в лямдах юзает. Нахожу этот видос. Начали с интерфейсов закончили анонимным классом...ну хз честно
Функциональные интерфейсы созданы для создания лямбда выражений. А лямбда выражения это и есть анонимные классы. Подробнее в видео «java stream api” на моем канале
Ты чего). Объяснили отлично, как раз-таки мало кто объяснял именно про абстрактный интерфейс. Многие начинают с лямбды и оттуда уже заходят на интерфейс. А здесь отлично объяснили что из себя представялет именно абстрактный интерфейс и указали тонкости с аннотацией и дефолт методами.
Также создал отдельные классы и показал пример как бы они выглядели если не было функционального программирование (а так они и выглядели до Java8).
Я бы еще добавил уточнение почему именно 1 абстрактный метод разрешается в интерфейсе - потому что если сделать 2 метода, то Java не поймет с каким из методов ей работать. + аннотация задает такое свойство интерфейсу, что если мы туда (в функциональный интерфейс) поместим еще 1 асбтрактный метод, то среда разработки выдаст нам ошибку на @аннотацию, а если аннотацию убрать - то ошибка будет только в лямбда выражениях. Так что @аннотация не делает интерфейс функциональным, ее делает наличие одного абстрактного метода (ТОЛЬКО одного)
Благодарю за объяснения, как раз прохожу эту тему)
@@Aleeeeaf спасибо! По факту аннотация это метка для компилятора, чтобы он проверил что в классе именно 1 абстрактный метод