Java для начинающих. Урок 26: Интерфейсы

แชร์
ฝัง
  • เผยแพร่เมื่อ 3 ม.ค. 2025

ความคิดเห็น • 327

  • @alishevN
    @alishevN  7 ปีที่แล้ว +13

    Регистрируйтесь на курс "Продвинутая Java": th-cam.com/video/rRe1vT0SDD8/w-d-xo.html
    Практикуйтесь в написании Java кода: java-marathon.tilda.ws

    • @hellsirius1
      @hellsirius1 6 ปีที่แล้ว

      Каким шрифтом вы пользуетесь?

  • @ovirtv3708
    @ovirtv3708 11 หลายเดือนก่อน +38

    Эх, знали бы вы когда записывали эти обучающие видео, сколько программистов они взростят))))
    Спасибо огромное!)

  • @it-family-
    @it-family- 4 ปีที่แล้ว +102

    Респект!!! У Вас талант объяснять: четко, ясно, без лишней воды! Я в восторге от Ваших уроков! Спасибо Вам!

  • @Koba889
    @Koba889 ปีที่แล้ว +32

    2023-ий год а я учу По этим урокам)) наилучший Автор,очень понятно объясняет. Единственное что я чуток не понял конец,но потом пересмотрев пару раз понял,но повторить такое мне будет сложно ,думаю эта логика приходит с опытом. Спасибо автору!

    • @guseynbolt8369
      @guseynbolt8369 ปีที่แล้ว +1

      не ты один)

    • @ivanbrogovich6779
      @ivanbrogovich6779 ปีที่แล้ว

      @@guseynbolt8369 и ты не один

    • @banshee-fck
      @banshee-fck ปีที่แล้ว

      +
      На англо ютубе конкретно по джаве что-то мне не зашли туториалы. Половина еще и на хинди, либо с ужасным индийским акцентом.

    • @RimuSanLinux
      @RimuSanLinux 4 หลายเดือนก่อน

      Brocode нормальный

  • @MrOverjay
    @MrOverjay 3 ปีที่แล้ว +73

    Для других кто натолкнулся - в Intellij Idea в 2021 году горячая клавиша для меню создания конструктора, геттера-сеттера -- Alt + Insert. У меня стоит IntelliJ IDEA Community Edition 2020.2.1 x64, если что.
    Автору большое спасибо, я уже много на англ языке прослушал уроков по программированию, Вы единственный от кого меня в сон не клонит на уроке :) Шутки шутками, но это реально мешает и демотивирует обучаться.

    • @Сулейман-с3у
      @Сулейман-с3у 2 ปีที่แล้ว +9

      лично я все равно засыпаю

    • @Aleksis93
      @Aleksis93 2 ปีที่แล้ว +6

      @@Сулейман-с3у через это нужно перешагнуть, мозг привыкнет к этой скукоте и перестанет отключаться)

    • @andrewtoad1651
      @andrewtoad1651 ปีที่แล้ว +1

      Как же ты хорош!

    • @syava3701
      @syava3701 ปีที่แล้ว

      Лучший

    • @banshee-fck
      @banshee-fck ปีที่แล้ว +1

      Я всегда смотрю только на английском, этот курс единственный на русскоязычном ютубе мне понравился. А оно и понятно, почему так, видно, что автор сам учился на англоязычных источниках, правильно использует конвенции в названиях(что очень, блин, важно, и часто хромает у русских обучателей), и темы действительно объясняет, а не просто показывает код, и всё, дём дальше.

  • @АндрейПопов-у4ж9ы
    @АндрейПопов-у4ж9ы 8 ปีที่แล้ว +147

    Очень интересно конечно все, спасибо большое). И кстати на windows, для вызова меню жмем Alt+Insert).

    • @ernestpalmer7529
      @ernestpalmer7529 8 ปีที่แล้ว +1

      Артем, спасибо!

    • @trrt9756
      @trrt9756 3 ปีที่แล้ว

      как успехи?

    • @ringoway
      @ringoway 2 ปีที่แล้ว +2

      @@trrt9756 как у тебя успехи?

    • @enered3944
      @enered3944 2 ปีที่แล้ว

      @@ringoway как обучение, куда продвинулся?

    • @ringoway
      @ringoway 2 ปีที่แล้ว +3

      @@enered3944 на удивление я не забросил. Обычно после какого то начинания после угасания интереса бросаю, здесь же такого нету.
      В данный момент я этот курс начинающих закончил и решил ознакомиться со Spring Framework попутно изучая как все это работает. Но я буквально недавно начал, так как самостоятельно изучал коллекций, лямбда выражения, многопоточность, Comparable и Comparator интерфейсы для коллекции и т.д.

  • @ВладиславНечаев-и1ъ
    @ВладиславНечаев-и1ъ 6 ปีที่แล้ว +49

    Наконец-то я понял, для чего и как применяются интерфейсы! )) Ваши уроки информативны и одновременно доходчивы. Спасибо!

    • @ДаниилЛаврентьев-ц7м
      @ДаниилЛаврентьев-ц7м ปีที่แล้ว +2

      Так для чего, не понятно?

    • @alexeyd.1232
      @alexeyd.1232 หลายเดือนก่อน

      вот никто академично не может объяснить понятие интерфейса. Все приводят примеры использования и на этом заканчивается ответ :)

  • @aicedd
    @aicedd 7 ปีที่แล้ว +64

    Пошел на очный курс - но объясняют так, что приходится после каждого занятия смотреть Ваш урок по теме чтобы добиться понимания. Прекрасная подача материала, спасибо!

    • @alishevN
      @alishevN  7 ปีที่แล้ว +10

      Пожалуйста!

    • @NiflheimForever
      @NiflheimForever 4 ปีที่แล้ว +2

      Как успехи? Надеюсь, что вы бесплатно пошли на курс.

    • @ОлегТрофимчук-м9я
      @ОлегТрофимчук-м9я 10 หลายเดือนก่อน

      ​@@alishevNСПОСИБО !за работу.Как вы шли к прогромиста есть видео где то.

  • @Муракин
    @Муракин 5 ปีที่แล้ว +9

    Посмотрел один раз, понял что запутался в Info, попил чайку глянул ещё раз и зашло на ура. Спасибо за подробный урок.
    Отдельное спасибо за alt+insert

  • @coldf90
    @coldf90 8 ปีที่แล้ว +49

    начиная с java 8 методы можно реализовать прямо в интерфейсе, указав модификатор default перед эти методом

    • @mohawberel
      @mohawberel 5 ปีที่แล้ว +1

      shukran

    • @ИгорьВоронов-ъ4м
      @ИгорьВоронов-ъ4м 2 ปีที่แล้ว

      а как в таком случае брать то или иное поле из класса? Через default получается реализовать только общие методы, которые подходили бы всем классам без индивидуальных полей/значений/параметров

  • @atairuslan
    @atairuslan 3 ปีที่แล้ว +4

    Боже храни таких людей! Спасибо большое!!!

  • @chaywithlemon
    @chaywithlemon 2 ปีที่แล้ว +17

    Info info1 = new Animal(1);
    Это можно представить как окно, если вы внутри дома: т.е.
    Animal animal = new Animal(1); то вам видна вся комната (шкаф стул книжная полка и т.д.), а если вы снаружи: т.е.
    Info info1 = new Animal (1); то ваша область видимости (как бы окно сужает область видимости) сужается, и вы видите "например" только шкаф.

    • @sv0ice
      @sv0ice 2 ปีที่แล้ว +1

      Классная аналогия, спасибо!!!

  • @Ren-z5m3t
    @Ren-z5m3t ปีที่แล้ว

    Вот это глубина! Дай Бог тебе здоровья и активной долгой жизни

  • @Philip_OK
    @Philip_OK 7 ปีที่แล้ว +35

    Не ну правда, я смотрел обучающие видео других - мне все было понятно на 90%.
    Смотрю эти видео - всё понятно на 100%.
    Изначально я решил, что всё понимаю по той причине, потому что пересматриваю повторно. Ведь ранее эти же темы проходил по обучающим видео, других авторов.
    Но нет. Теперь понимаю, что javaRussia действительно понятно объясняет и дело не в том, что я повторяю пройденный материал.
    Автор, у тебя талант.

    • @trrt9756
      @trrt9756 3 ปีที่แล้ว +3

      как успехи?

  • @TheKristinaomg
    @TheKristinaomg 5 ปีที่แล้ว +3

    Материал разложили по полочкам, теперь всё стало понятно. Спасибо вам большое за уроки!

  • @beribanyu
    @beribanyu ปีที่แล้ว

    Спасибо, да, сложновато пока дается. Попробую еще где то глянуть на эту тему уроков.

  • @Anatoli-bq1pe
    @Anatoli-bq1pe 2 ปีที่แล้ว +1

    Надо будет еще раз пересмотреть, что бы до конца эта тема зашла) Благодарю за данный урок

  • @ДмитрийКарякин-в4з
    @ДмитрийКарякин-в4з 6 ปีที่แล้ว +4

    Какой же ты все-таки КРАСАВЕЛЛА!!! Это дар так четко и понятно рассказывать! Заносит порой в дебри, но это не смертельно! Спасибо!

  • @ThevideOoLoadeR
    @ThevideOoLoadeR 3 ปีที่แล้ว +8

    Как уже кто-то говорил, видно, что автор фильтрует каждое слово перед тем, как его сказать. Очень признателен за такой серьёзный подход к урокам (по сравнению с другими авторами на ютубе). Топ.

  • @AlexandrStroicev
    @AlexandrStroicev 6 ปีที่แล้ว +3

    Самые понятные уроки у этого автора! Супер спасибо

  • @olexiypysarenko8090
    @olexiypysarenko8090 8 ปีที่แล้ว +6

    Большое спасибо. Очень доходчиво. Надеюсь будут ещё лекции.

    • @trrt9756
      @trrt9756 3 ปีที่แล้ว

      как успехи?

  • @banaaboy6504
    @banaaboy6504 4 ปีที่แล้ว +5

    У Вас редчайшая способность, объяснять сложное просто.

  • @TigercactusWhite
    @TigercactusWhite ปีที่แล้ว

    Cпасибо за ваши видео, у вас талант объяснять.Смотрю как дополнение к джава рашу, и если по лекциям джавы раш часто остаются вопросы, то по вашим видео получается их закрыть)

  • @ВладимирИ-э3щ
    @ВладимирИ-э3щ 2 ปีที่แล้ว +23

    Жестяная жесть. Ничего не понял. Реально дня три читал интернеты и оказалось все очень просто, если правильно подать материал.
    А фишка в том, что интерфейсы это всего лишь кусок полиморфизма, который состоит из:
    Наследования, Абстрактных классов и Интерфейсов. т.о. необходимо смотреть на всю картину сразу, чтобы было понятно, что откуда.
    Наследование классов было в уроке 25. И в принципе все просто и понятно.
    И тут мы сразу погружаемся в интерфейсы, перескочив абстрактные классы, которые будут только в 41 уроке и сам Полиморфизм, который освещается в 29.
    Естественно ничего не понятно)))
    И так, чтобы легче пошло, вникаем в суть наследования классов, далее слегка погружаемся в абстрактные классы, а уже после этого еще раз смотрим на интерфейсы.
    Спойлер: абстрактный класс - очень похож на интерфейс. Только в случае с классом наследник может иметь только одного родителя и соответственно наследовать методы и параметры только этого самого одного родителя и всё.
    Интерфейсы же позволяют одному классу наследнику иметь (implement) вагон методов и параметров от разных родителей(Интерфейсов). Кроме того сами Интерфейсы могут наследовать (extend) методы от других интерфейсов.

    • @МаксОгн
      @МаксОгн 2 ปีที่แล้ว

      То есть абстрактный клас работает как интерфейс, но при этом работает как extends, что можно унаследовать только один?

    • @ОрдинцевМихайло
      @ОрдинцевМихайло 2 ปีที่แล้ว +3

      @@МаксОгн Не совсем. У абстрактного класса могут быть как реализованные методы (с телом) так и абстрактные (без тела), когда класс наследник наследует всё - то он получает в своё распоряжение как уже готовые методы так и контракт (обязанность) определить что делают абстрактные методы.
      Если класс наследник не определяет абстрактные методы от отца, то уже он обязан стать абстрактным.
      Интерфейс работает как контракт, класс который его имплементирует обязан или реализовать методы интерфейса или же стать абстрактным.
      Но вот незадача, у интерфейса могут быть методы с реализацией (static методы, default, даже private методы, которые работают только в интерфейсе под капотом и не имплементируются), грубо говоря есть очень большое кол-во возможностей и слишком мало времени.
      Всё постигается с опытом и на чистом энтузиазме.

    • @МаксОгн
      @МаксОгн 2 ปีที่แล้ว

      @@ОрдинцевМихайло Понял. Спасибо за хороший ответ 👍☺️

  • @ИгорьЯхонтович
    @ИгорьЯхонтович ปีที่แล้ว

    Спасибо, очень полезные и понятные уроки! Еще рассказывали, что абстрактные классы применяют для описания большого количества методов, а интерфейсы - для небольшого количества.

  • @АдлерТвордович
    @АдлерТвордович 2 ปีที่แล้ว +1

    Очень рад что нашёл ваши уроки. Вы прекрасный сенсэй)

  • @newcomer3419
    @newcomer3419 3 ปีที่แล้ว

    15:25 Ай молодец, уже и почву для нитей готовит) Как приятно пересматривать материал для закрепления
    Зы кстати, ютуб редиска такая походу на некоторых видео скручивает лайки, ибо я точно помню что спецом везде прожимал лукозавры.

  • @artempalamarchuk9440
    @artempalamarchuk9440 7 ปีที่แล้ว

    Красавчик - классно объясняешь. Грамотно, ясно и без Воды. Спасибо.

  • @egos_ua
    @egos_ua 4 ปีที่แล้ว

    Шедевральное видио. Так просто и не самом простом, но важном. Благодарочка

  • @dmitriigolyshkin1876
    @dmitriigolyshkin1876 6 ปีที่แล้ว +3

    Как жалко, что людей интересует всякое дерьмо, а у действительно важных вещей как это видео так мало просмотров.Автору низкий поклон.

    • @korumstar9989
      @korumstar9989 6 ปีที่แล้ว +8

      Ну и нафига вам столько конкурентов? ;-) Пускай мультики и иже с ними смотрят. В программерской среде, имхо. и так конкуренции хватает.

    • @kamenyFX
      @kamenyFX ปีที่แล้ว

      Дядя, выучил программирование?

    • @dmitriigolyshkin1876
      @dmitriigolyshkin1876 ปีที่แล้ว +1

      @@kamenyFX выучил, поработал и в очередной раз понял, что не хочу быть программистом. Стал DevOps

    • @kamenyFX
      @kamenyFX ปีที่แล้ว

      @@dmitriigolyshkin1876 Молодец🧐

  • @IlyaK.O.
    @IlyaK.O. ปีที่แล้ว

    Я не пожалел времени, что потратил на просмотр этого Урока!большое спасибо!

  • @yurii_svetlov
    @yurii_svetlov 6 ปีที่แล้ว +2

    Благодарю от души, очень доходчиво и понятно объясняешь!

  • @rostyslavyanchynsky6948
    @rostyslavyanchynsky6948 5 ปีที่แล้ว +1

    очень крутая подача материала, подробно разжевал про интерфейсы и даже полиморфизм затронул:) спасибо!

  • @BogdanovArtemiy
    @BogdanovArtemiy 3 ปีที่แล้ว +1

    Трудно эта тема дошла до меня. Спасибо. Раз 5 пересмотрел.

    • @Das.Kleine.Krokodil
      @Das.Kleine.Krokodil 2 ปีที่แล้ว

      если что то не понятно, ищите другие источнки

    • @sv0ice
      @sv0ice 2 ปีที่แล้ว

      П.с говорю тем, у кого возникают сложности...
      Вы можете пока что забить на столкнувшуюся сложную вещь, но продолжайте дальше что-то учить, и со временем поймёте ту часть, которую долго не могли понять. У меня это так :)

  • @maksonaladin4033
    @maksonaladin4033 2 ปีที่แล้ว

    Отличные уроки, много тем разобрано и главное довольно подробно. За один только этот ролик заполнил довольно много пробелов в голове.

  • @nadirnazirov4707
    @nadirnazirov4707 ปีที่แล้ว +1

    Generate Constructor появляется при нажатии Alt+Insert в Idea on Windows.

  • @devofy
    @devofy 4 ปีที่แล้ว +6

    4:35 на винде alt+insert

  • @noobsaybot124
    @noobsaybot124 2 ปีที่แล้ว +2

    привет. в каком уроке ты рассказывал про @override?

    • @JBash-e7c
      @JBash-e7c ปีที่แล้ว

      Я вот тоже не помню. ВОзможно, он оговорился.

    • @berxann5306
      @berxann5306 ปีที่แล้ว

      @@JBash-e7c в 24 уроке, про метод toString он говорил про переопределение метода, а аннотация @Override просто обязует это переопределение, что даже не всегда считается нужным

  • @Rotax-NSK
    @Rotax-NSK 8 ปีที่แล้ว +14

    все эти путанные многоходовочки понятны, хотя полной картины всего происходящего пока нет, уверен в дальнейшем обучение озарение придёт ко мне :)

    • @bari9631
      @bari9631 5 ปีที่แล้ว +23

      полностью согласен. хоть автор и объясняет все доходчиво, но не обозревает всю картинку целиком.
      нет ответов на вопросы:
      зачем нам интерфейс? почему мы не можем обойтись без него? в чем его удобство? и т.д.
      пс. в конце все таки была подведена некая черта и стало понятно что как минимум интерфейсы нужны чтобы в других классах обязательно реализовать все задуманные методы и ничего не забыть. и всё таки об этом нужно было говорить в начале. так бы и видео смотрелось иначе

  • @romabulava899
    @romabulava899 5 ปีที่แล้ว

    наконец то нашел про переменные типа интерфейс и как и для чего так делается

  • @АндрейКулагин-е1ш
    @АндрейКулагин-е1ш 4 ปีที่แล้ว

    Отличные уроки, спасибо огромное, надеюсь, что вы неплохо подняли с рекламы на этих роликах

  • @ДанилаБагров-ъ1ы
    @ДанилаБагров-ъ1ы 4 ปีที่แล้ว

    Очень доступно и очень грамотно и интересно!!! Спасибо большое!!

  • @monotheos
    @monotheos 3 ปีที่แล้ว +2

    Я думал что из-за возраста в 39 лет не могу понять тему ООП про интерфейсы в достаточной степени. Оказалось все дело в доходчивости изложения преподавателем. Спасибо.

    • @Дмитрий-ц5ш5ъ
      @Дмитрий-ц5ш5ъ 3 ปีที่แล้ว +3

      Понять - это одно, а применять на практике - это совсем другое

    • @monotheos
      @monotheos 3 ปีที่แล้ว

      @@Дмитрий-ц5ш5ъ буду рад Вашим советам

  • @Aqwsaful
    @Aqwsaful 3 ปีที่แล้ว

    Блин, спасибо большое автору!
    Каждое слово на своем месте, все понятно!

  • @Dolphinyara1
    @Dolphinyara1 2 ปีที่แล้ว +1

    Подскажите почему в методе showInfo мы искользуем this

    • @JBash-e7c
      @JBash-e7c ปีที่แล้ว

      надо тебе погуглить "слово this в java"

  • @АлександрАксельрод-д7г
    @АлександрАксельрод-д7г ปีที่แล้ว

    Огромное спасибо за уроки!!!! Мне безумно помогло.

  • @hikmatasgarli7036
    @hikmatasgarli7036 5 ปีที่แล้ว +3

    После JavaRush уроки воспринимаются легче !!!

  • @Sergio-ij7pw
    @Sergio-ij7pw 8 ปีที่แล้ว

    Класс. Мне хватило часа чтобы разобраться с понятием интерфейс

  • @adelinadodonova4358
    @adelinadodonova4358 4 ปีที่แล้ว

    Очень интересно и понятно объясняете, спасибо!

  • @welik0107
    @welik0107 8 หลายเดือนก่อน +2

    В общем, проще сказать интерфейс - шаблон для классов, как класс - шаблон для объектов)

  • @ДмитрийКайма
    @ДмитрийКайма 4 ปีที่แล้ว

    По моему это сложная тема, и я не думал, что всё пойму. Но так как это объяснял ты, я понял тему на 100%.

  • @ilytoowee1372
    @ilytoowee1372 11 หลายเดือนก่อน

    21:35 здесь понятие про полиморфизм расплылось конкретно, т.к думал, что мы, только (!) при создании объектов типа info, ссылающихся на person и animal, можем использовать метод showInfo, а оказывается не только…

  • @Ruslan-bo4xk
    @Ruslan-bo4xk 5 ปีที่แล้ว

    Ты лучший! Очень доходчиво объясняешь!

  • @elenas7914
    @elenas7914 7 ปีที่แล้ว +3

    Спасибо большое за урок! Подскажите пожалуйста, почему при реализации метода schowInfo например в классе Animal: System.out-println("Id is "+this.id); почему "this.id" а не просто " id"?

    • @alishevN
      @alishevN  7 ปีที่แล้ว +14

      Можно было написать и просто id, программа бы работала. Однако когда мы пишем this.id, мы явно указываем на то, что мы хотим вывести поле "id" текущего объекта.
      Есть такие случаи, когда просто id не сработал бы.
      Пример:
      public void showInfo() {
      int id = 0; // объвили переменную в методе
      System.out.println(id);
      }
      Вот в этом, случае, когда у нас есть переменная id внутри метода, если мы напишем просто id, мы выведем эту переменную, а не поле id. Если же мы хотим вывести именно поле объекта, то мы должны писать this.id.

    • @staksik5262
      @staksik5262 3 ปีที่แล้ว +1

      @@alishevN здравствуйте, можете пожалуйста объяснить оператор "return", никак не могу понять его(( Даже из вашего видео не понял😨 А именно не могу выяснить - Что это такое? Как он работает? Зачем он возвращает значение и для чего?

  • @GhostFerocious
    @GhostFerocious 8 ปีที่แล้ว

    Чётко и ясно объясняет. Спасибо

    • @alishevN
      @alishevN  7 ปีที่แล้ว

      Пожалуйста.

  • @Rommel7755
    @Rommel7755 5 ปีที่แล้ว +1

    Уважаемый автор поясните пожалуйста как у вас интерфейс стал контрактом между самим интерфейсом и классом его имплементирующим?

  • @korumstar9989
    @korumstar9989 6 ปีที่แล้ว +4

    Доступно, понятно. Спасибо! Один вопрос. Может направите на какой-нибудь толковый, по вашему мнению. ресурс, где можно взять не очень сложные задачки и проходя ваши уроки попытаться их прорешать?

  • @vladimirfortushin7976
    @vladimirfortushin7976 3 ปีที่แล้ว +2

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

    • @Das.Kleine.Krokodil
      @Das.Kleine.Krokodil 2 ปีที่แล้ว

      почему вы сравниваете интерфейс с методами?

    • @vladimirfortushin7976
      @vladimirfortushin7976 2 ปีที่แล้ว

      @@Das.Kleine.Krokodil для тех, кто только знакомится с интерфейсами и абстрактными методами, последние мало различимы

    • @Das.Kleine.Krokodil
      @Das.Kleine.Krokodil 2 ปีที่แล้ว

      @@vladimirfortushin7976 мм.. ну сравнить интерфейс с классом норм и перепутать. но не с методом

    • @vladimirfortushin7976
      @vladimirfortushin7976 2 ปีที่แล้ว

      @@Das.Kleine.Krokodilа, понял, не с классом, а с методом, ошибся. My bad

  • @АлексейКомков-л6о
    @АлексейКомков-л6о 3 ปีที่แล้ว

    Спасибо за качественные уроки!!!!!

  • @hikmat6957
    @hikmat6957 3 ปีที่แล้ว +1

    я вот не понимаю, почему в ВУЗЕ нет вот таких преподавателей, которые умеют объяснять хорошо.

  • @БавыкинаМария
    @БавыкинаМария 5 ปีที่แล้ว +1

    Как так получается, что мы вызываем нестатический метод showInfo в статическом методе outputInfo? И почему при этом нет ошибки компиляции?

    • @anynick7587
      @anynick7587 4 ปีที่แล้ว

      outputInfo в качестве аргумента принимает объект и заставляет этот объект выполнить метод showInfo

  • @volodymyrchornyi9389
    @volodymyrchornyi9389 7 ปีที่แล้ว +3

    Alt + Insert Генерируем код (Getters, Setters, Constructors, hashCode/equals, toString) но не Alt + N

    • @kostyagusto5109
      @kostyagusto5109 6 ปีที่แล้ว +1

      may be he used Mac Book?)

    • @nickneil152
      @nickneil152 4 ปีที่แล้ว

      Спасибо тебе!)

  • @KocTu4eK
    @KocTu4eK 2 ปีที่แล้ว

    16:30 проще говоря, базовый класс может ссылаться на любых своих наследников. это конечно немного не то, но всё же подходит.

  • @alenatataranovich5715
    @alenatataranovich5715 6 ปีที่แล้ว

    Отличное объяснение! Большое спасибо!

  • @wes-key1158
    @wes-key1158 2 ปีที่แล้ว

    В последних версиях Идеи нужно нажать контрл + кнопка над принт скрином и откроется окошко создания конструктора, геттеров сеттеров и прочее

  • @El-ns1vl
    @El-ns1vl 6 ปีที่แล้ว

    Большое спасибо! Очень полезные видео-уроки!

  • @Базилик_хД
    @Базилик_хД ปีที่แล้ว +1

    как в 2023 году в IJ создавать конструктор? при нажатии ctrl + N открывается другое окно
    p.s. погуглил, ctrl + N это только на маке. на винде и линуксе, чтобы открыть окошко Generate надо нажать Alt + Insert

  • @Грант1147
    @Грант1147 4 ปีที่แล้ว

    На каждом уроке понятно абсолютно все, поэтому и купил курс "Продвинутая Java" )

  • @АннаДомик
    @АннаДомик 5 หลายเดือนก่อน

    Отличное видео) Огромное вам спасибо

  • @ЕкатеринаГорбенко-ц8ш
    @ЕкатеринаГорбенко-ц8ш 9 หลายเดือนก่อน +1

    вот сейчас со скрипом зашло)))

  • @deniszalutskiy1170
    @deniszalutskiy1170 2 ปีที่แล้ว

    круто объясняешь такую сложную тему!

  • @akalit15
    @akalit15 7 ปีที่แล้ว +2

    Как я понял интерфейсы это шаблон подключая который мы убираем шанс ошибиться, так как среда будет выдавать ошибку пока мы не реализуем все методы интерфейса в классе к которому мы подключили интерфейс?

  • @deniszalutskiy1170
    @deniszalutskiy1170 2 ปีที่แล้ว

    курсы огонь! много что стало понятно

  • @scheingb8589
    @scheingb8589 3 ปีที่แล้ว +1

    привет, все до этого нормально понимал но вот эти интерфейсы меня запутали , я так и не понял зачем они нужны, и когда я должен их использовать? когда я это почувствовать должен что настало время интерфейсов? или вообще есть возможность мне лично объяснить? пожалуйста помогите.

  • @denbrown4580
    @denbrown4580 3 ปีที่แล้ว

    Лучший курс, нашёл и поддержал на Udemy, вместе с продвинутым)
    Но вот тут что-то залип
    В Person и Animal, когда добавлял "implements Info", info упорно горит красным
    Похоже, придется создавать новый пакет и все переписывать туда, прямо по видео, след в след, ибо не могу в толк взять, что же не так

    • @DolphinArtem
      @DolphinArtem 3 ปีที่แล้ว

      Я также не понимал, просто метод интерфейса нужно писать ручками )))

  • @mafroz_en
    @mafroz_en 7 ปีที่แล้ว +1

    Прекрасные уроки! Спасибо. Смотрю с удовольствием и многое понял только из них. Появился вопрос следующего содержания (может не совсем к этой теме): будет ли урок по возврату объектов из методов и более подробно про передачу объектов в качестве параметров? Вот вокруг этого у меня сейчас и не выходит вникнуть. Спасибо!

  • @CarboardTrain
    @CarboardTrain ปีที่แล้ว

    Понимаю, что некропостинг, но я вот только дорос :)
    На 12:54 при имплементации метода интерфейса указано переопределение (Override). Вопрос: а зачем оно тут, если в интерфейсе нет реализации метода? Что переопределяется в этом случае? (Не бугурт, просто учусь и пытаюсь разобраться).

    • @propilen3
      @propilen3 ปีที่แล้ว

      Аннотация не обязательна и не отражает сути (многие согласны, что слово Override тут не в тему), но является маркером для компилятора внимательнее приглядеться к функции.
      Например, класс С реализует интерфейс А. Интерфейс А при этом расширяет интерфейс B. Мы реализуем в классе С метод из интерфейса А и метод из интерфейса B. Оверрайд не юзаем. В какой-то момент приходим к выводу, что интерфейс А не должен расширять B. Забываем при этом удалить реализацию метода B из класса. Компилим - никаких ошибок. Если же будет стоять слово Override, то компилятор ругнется. Обратит наше внимание.

  • @НийметПираев-р5м
    @НийметПираев-р5м 2 ปีที่แล้ว

    Очень доходчиво! Большое спасибо!)))

  • @sos808sos
    @sos808sos 2 ปีที่แล้ว

    Спасибо за объяснение .

  • @petrmiroshnik4601
    @petrmiroshnik4601 ปีที่แล้ว

    Коротко и ясно. Спасибо)))

  • @Krekcer
    @Krekcer 7 ปีที่แล้ว +2

    А почему для одного класса написано @Override, а для другого нет? Это необязательно прописывать?

    • @evgeniicherniak3332
      @evgeniicherniak3332 6 ปีที่แล้ว

      @Override написано только в одном случае, где Idea сама добавила нам код для описания реализации интерфейса, в другом случае мы писали всё вручную. Подозреваю, что надпись @Override функционально ни на что не влияет, но помогает нам сэкономить время и даёт понять, что описываем здесь реализация метода имплементированного интерфейса. Поправьте, если я не прав)

    • @Rommel7755
      @Rommel7755 6 ปีที่แล้ว +7

      Аннотацией @Override следует пользоваться когда вы пишите метод переопределящий другой метод. Без нее вы также можете этот метод переопределить но если в параметрах например будет что-то отличное от переопределямого метода , то вы просто создадите новый метод а не переопределите его и никто вам ничего не скажет а с @Override компилятор выдаст ошибку.

  • @ЕвгВел
    @ЕвгВел 5 ปีที่แล้ว +1

    Ну такое, нужно разбираться! Полиморфизм, наследование, каша в голове, нужно уделить внимание этой теме

  • @АндрейШурин-у6ч
    @АндрейШурин-у6ч 4 ปีที่แล้ว

    Уроки просто супер 👍 большое спасибо

  • @alex9196
    @alex9196 3 ปีที่แล้ว

    Большое спасибо автору за видео)

  • @ОлегТрофимчук-м9я
    @ОлегТрофимчук-м9я 10 หลายเดือนก่อน +1

    Ребята!! Не, по теме но какую, кто музыку слушает когда, занимаеца кодом.

  • @me_000_xXx
    @me_000_xXx 5 ปีที่แล้ว

    1:33 разделяя по "full qualified name". и спасибо за полиморфизм.

  • @alexanderchernyak694
    @alexanderchernyak694 6 ปีที่แล้ว

    Может ли абстрактный класс имплементировать интерфейс?

  • @МарияКоролева-ш3ы
    @МарияКоролева-ш3ы 2 ปีที่แล้ว

    Мне было очень полезно, Благодарю.

  • @marirazno6117
    @marirazno6117 7 ปีที่แล้ว

    Очень жду разбор коллекций)))

  • @ilyasnasirov6351
    @ilyasnasirov6351 2 ปีที่แล้ว

    Можно ли наследоваться от класс и от интерфейса одновременно?

  • @anzhelikaseliverstova7652
    @anzhelikaseliverstova7652 7 ปีที่แล้ว +1

    Спасибо большое! Вас приятно слушать.
    Liiiiike :)

  • @dmtconst
    @dmtconst 2 ปีที่แล้ว

    Спасибо! Доходчиво и понятно!!!

  • @MostGood1
    @MostGood1 ปีที่แล้ว

    Говорят нужно программировать на уровне интерфейсов, что позволяет, что-то типа множественного наследования. Это так?

  • @mormone123
    @mormone123 3 ปีที่แล้ว

    Нужно ли делать override методов в классе имплемпнтииующем интерфейс?

  • @АлександрГоупрошкин
    @АлександрГоупрошкин 4 ปีที่แล้ว

    Спасибо огромное, очень качественно!

  • @dfyzsdrtgw365
    @dfyzsdrtgw365 6 ปีที่แล้ว +2

    зачем в классе test вы создаёте метод main?

    • @vladyslavponomarenko5076
      @vladyslavponomarenko5076 6 ปีที่แล้ว +1

      программа не будет работать, если ни в одном классе не будет метода main

  • @СлаваБ-ж2ь
    @СлаваБ-ж2ь ปีที่แล้ว

    Спасибо за видео!

  • @ИльяСтрунников-щ1е
    @ИльяСтрунников-щ1е 3 ปีที่แล้ว

    Всем привет ребят, подскажите пожалуйста зачем мы у метода outputInfo ставим ключевое слово static? Чтобы не создавать экземпляр(объект) класса Test чтобы использовать этот метод?

    • @DolphinArtem
      @DolphinArtem 3 ปีที่แล้ว

      Для того, что бы все объекты класса Test смогли его использовать. Я так понимаю.

  • @alexb.2616
    @alexb.2616 4 ปีที่แล้ว

    Наконец-то я понял. Спасибо!

  • @tigranbalayan6521
    @tigranbalayan6521 7 ปีที่แล้ว +1

    Извините не посмотрел до конца, так как сам уже все это знаю, просто ищу курсы, которые можно посоветовать другим. Возможно вы об этом позже сказали, я не досмотрел, но все таки в интерфейсе можно реализовать методы, то есть можно написать и тело метода, для этого надо в начале написать ключевое слово default, в вашем случаи
    default public void showInfo(){
    //ваш код
    }

    • @christiansanta984
      @christiansanta984 6 ปีที่แล้ว +1

      Tigran Balayan , и как же их потом использовать?