Java с нуля #88 - Функциональный интерфейс

Поділитися
Вставка
  • Опубліковано 16 січ 2025

КОМЕНТАРІ • 6

  • @gan9930
    @gan9930 5 місяців тому +2

    Так класно объяснил!

  • @b1tterman
    @b1tterman 5 місяців тому

    спасибо

  • @ivysaur0273
    @ivysaur0273 Рік тому +1

    очень необычно на самом деле. Я искал инфу о Функциональный интерфейс, чтобы посмотреть кто как их в лямдах юзает. Нахожу этот видос. Начали с интерфейсов закончили анонимным классом...ну хз честно

    • @ablazzing3120
      @ablazzing3120  Рік тому +5

      Функциональные интерфейсы созданы для создания лямбда выражений. А лямбда выражения это и есть анонимные классы. Подробнее в видео «java stream api” на моем канале

    • @Aleeeeaf
      @Aleeeeaf Рік тому +3

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

    • @ablazzing3120
      @ablazzing3120  Рік тому +3

      @@Aleeeeaf спасибо! По факту аннотация это метка для компилятора, чтобы он проверил что в классе именно 1 абстрактный метод