Java для начинающих. Урок 20: Конструкторы

Sdílet
Vložit
  • čas přidán 24. 10. 2015
  • МОЙ НОВЫЙ КУРС: • Мой курс "Продвинутая ...
    ПРАКТИКА НА JAVA: java-marathon.tilda.ws
    Реклама и сотрудничество: alishev.neil@gmail.com

Komentáře • 173

  • @alishevN
    @alishevN  Před 6 lety +13

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

    • @Andrius2005
      @Andrius2005 Před 5 lety

      Здравствуйте! Я не давно начал изучать программирование и меня испугал тот факт, что я почти ничего не понимаю в чужом коде, даже в самом простейшем . Это временно или это я такой ? Хотелось бы узнать ваше мнение ) За ранее спасибо !

    • @guestguest6442
      @guestguest6442 Před 4 lety

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

    • @MCLoveKherson
      @MCLoveKherson Před 2 lety

      @@guestguest6442 а если нам нужно будет поменять значение в процессе работы программы . Как мы их зададим?

  • @nordone_travels
    @nordone_travels Před 27 dny +2

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

  • @zhenyashypitsyn9647
    @zhenyashypitsyn9647 Před 8 lety +144

    Прошел все уроки, очень доволен! Нигде не встречал таких офигенных уроков. Спасибо тебе огромное, жду продолжения)

    • @alishevN
      @alishevN  Před 8 lety +14

      +Evgeniy Shypitsyn Спасибо вам! Совсем скоро начну делать.

    • @zhenyashypitsyn9647
      @zhenyashypitsyn9647 Před 8 lety +2

      +javaRussia Жду)

    • @gohokla2710
      @gohokla2710 Před rokem +2

      @@zhenyashypitsyn9647 как судьба сложилась?

    • @Aleksis93
      @Aleksis93 Před rokem +2

      @@gohokla2710 вот тоже интерестно) либо забил, либо ушел с головой)

  • @user-xz1zb5cw1k
    @user-xz1zb5cw1k Před 5 lety +57

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

  • @yeh_pro
    @yeh_pro Před 7 lety +31

    Просто великолепно. Такого учителя, да в университет. Не прогуливал бы)

  • @yogadogi4984
    @yogadogi4984 Před 4 lety +3

    Дружище , спасибо тебе огромное за твой вклад! ценю!

  • @toten7
    @toten7 Před 2 lety +4

    Спасибо, огромное за бесплатный курс. И с наступающем уже 2022 )

  • @yuryrol8689
    @yuryrol8689 Před 4 lety

    Просмотрел 20 уроков. Пока все просто и понятно. Признателен за такие полезные сведения, изложенные в максимально доступном виде!

  • @ValeriyChannel
    @ValeriyChannel Před 3 lety +2

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

  • @user-td6eo9fn6p
    @user-td6eo9fn6p Před 8 lety +9

    Спасибо за уроки! В голове все устаканивается, особенно после прочтения других ресурсов. Жду продолжения!

    • @lsgraalq8738
      @lsgraalq8738 Před rokem

      как судьба сложилась?

  • @dmtconst3633
    @dmtconst3633 Před 2 lety

    Лучшее, что я находил в сети! Контент золото! Спасибо💪

  • @jon04kmgjzj
    @jon04kmgjzj Před 8 lety

    Классные уроки, СПАСИБО! Жду продолжения.

  • @Enjellos
    @Enjellos Před 8 lety +8

    Спасибо за уроки, очень достойно ! Ждем продолжения !

    • @alishevN
      @alishevN  Před 8 lety +6

      +Владислав Карпенко я обязательно доделаю эти уроки в ближайшее время, спасибо что ждете:)

  • @user-rw3vi3et3w
    @user-rw3vi3et3w Před 8 lety +4

    Отличные уроки, спасибо!

  • @nikaglaz1998
    @nikaglaz1998 Před rokem +3

    Спасибо большое!! Учите великолепно, все становится сразу на свои места, какие методы и конструкторы нам говорили :) !!Рада наконец-то ступать на тропу понимания джавы Я с удовольствием сажусь учиться даже в 10 вечера) Желаю успехов !!!!

  • @vitaliyk.6371
    @vitaliyk.6371 Před 6 lety +9

    Очередной урок принес много положительных эмоций и благодарность учителю.Толково,подробно с примерами и пошаговыми объяснениями.Талантливый человек как в программировании,так и в обучении-это сразу понимаешь.Тема методов одна из важнейших для понимания,так как зная,как, что,кем,когда и откуда вызывается, вы не будешь "плавать" в написании правильного кода и в построении программы.Я изучал Java разными методами и через разные ресурсы,но так толково теорию НИКТО и НИГДЕ не объяснил.Огромное спасибо за прошедший урок.Идем дальше!

    • @sergeyfrolov5237
      @sergeyfrolov5237 Před 6 lety +1

      Согласен с тобой полностью Сколько искал не мог нормальных уроков найти А эти понятны и просты .СПС УЧИТЕЛЮ !!!

  • @MrNeshta
    @MrNeshta Před 8 lety +3

    Спасибо за уроки. Ждём новые уроки.

  • @LoOleg1
    @LoOleg1 Před 6 lety

    Много всего перечетал про конструкторы, у тебя самое доступное обьяснение этой темы, буду смореть и другие твои видое. Спасибо !!!

  • @creatorcreator9885
    @creatorcreator9885 Před 8 lety +22

    Очень хорошо объясняете
    Жду с нетерпением новых уроков

    • @alishevN
      @alishevN  Před 8 lety +7

      +Tima Tima Будут, пока занят очень.

    • @user-zb5qk3ns3i
      @user-zb5qk3ns3i Před 8 lety

      +javaRussia перегрузка вроде бы возможна и до тех пор пока тип метода разный, а не только параметры или я не прав?

    • @alishevN
      @alishevN  Před 8 lety

      Данил Ситдиков Тип возвращаемого значения метода?
      Нет, перегрузка невозможна если у методов одинаковые имена и параметры.

    • @user-zb5qk3ns3i
      @user-zb5qk3ns3i Před 8 lety

      понял) спасибо за уроки! Ждемс еще

    • @alishevN
      @alishevN  Před 8 lety

      Данил Ситдиков Пожалуйста!

  • @user-ru8qb9ze1d
    @user-ru8qb9ze1d Před 6 lety

    Учу java по оф. документации и захожу на ютуб когда не до конца понимаю материал и постоянно смотрю ваши уроки, материал усваивается очень легко, спасиб за ваш труд, лукас и подписка однозначно.)

  • @tuRistst
    @tuRistst Před 8 lety +2

    Спасибо за уроки!

  • @askarslambekov4038
    @askarslambekov4038 Před 3 lety +3

    До этого всегда скептический относился к материалам в ютюб, но этот канал прям супер!
    Молодец!

  • @stanislavomelchenko5271
    @stanislavomelchenko5271 Před 5 lety +1

    Второй раз заглянул , и оба раза понравилось. Хорошо объясняешь и доходчиво . Палец в верх. Спасибо. + подписка

  • @user-cx8jx4rg9e
    @user-cx8jx4rg9e Před rokem

    Спасибо огромное за вашу работу!!!!

  • @marialinnik1825
    @marialinnik1825 Před 5 lety +3

    ну оочень доходчиво! спасибо!

  • @user-bw7ov8ip5w
    @user-bw7ov8ip5w Před 5 lety +1

    Очень хорошо объясняете!

  • @user-ow1he8qm2h
    @user-ow1he8qm2h Před 4 lety

    Уроки очень понятные и доступные. Респект)))

  • @vladyslavponomarenko5076
    @vladyslavponomarenko5076 Před 6 lety +1

    Спасибо большое за урок!

  • @tigrangegamian1509
    @tigrangegamian1509 Před 4 lety +3

    блин, и правда крутые курсы, спасибо :)

  • @fck2trsh
    @fck2trsh Před 6 lety

    Все предельно понятно, огромное спасибо!

  • @Sergio-ij7pw
    @Sergio-ij7pw Před 7 lety

    Какой отличный урок по конструкторам. Точно то, что мне нужно. Спасибо, огромное.

  • @user-ub6fx6ju9f
    @user-ub6fx6ju9f Před 8 lety +3

    Ждем продолжения

  • @timurnuriev6507
    @timurnuriev6507 Před rokem +1

    У вас талант объяснять !!

  • @korumstar9989
    @korumstar9989 Před 5 lety

    Все понятно. Спасибо!

  • @user-yy2qb9by4k
    @user-yy2qb9by4k Před 2 lety

    Огромное спасибо!!!!!!! всё понятно, ура!

  • @user-dm4ju2yd5j
    @user-dm4ju2yd5j Před rokem

    блин спасибо большое что объясняете так подробно

  • @user-ki5pj1ph9w
    @user-ki5pj1ph9w Před 4 lety

    Отлично обьяснил!

  • @user-pv6hy1ct8x
    @user-pv6hy1ct8x Před 7 lety +3

    Очень крутые видосы, у автора талант к изложению материала. Знать можно много, а вот передать знания это уже искусство. Спасибо Вам большое.

  • @user-hn5ii9du7w
    @user-hn5ii9du7w Před 2 lety

    Спасибо Вам огромное!!!

  • @IlyaK.O.
    @IlyaK.O. Před rokem

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

  • @user-ub6fx6ju9f
    @user-ub6fx6ju9f Před 8 lety +3

    Спасибо!

  • @izi9818
    @izi9818 Před 5 lety +2

    Спасибо ДруГг, помог)))

  • @prodaction2961
    @prodaction2961 Před 7 lety +1

    спасибо интересно , а главное просто

    • @alishevN
      @alishevN  Před 7 lety

      И вам спасибо!

  • @M27B_our_victory
    @M27B_our_victory Před 3 lety +1

    Коротко и по сути!)из 2021!

  • @edgarhovhannisyan9840
    @edgarhovhannisyan9840 Před 8 lety

    Смотрю почти все уроки что есть в youtub-е.. :) ваши очень понятны, по существу и с наглядными примерами... Спасибо! хотелось бы уроков по больше...

    • @alishevN
      @alishevN  Před 7 lety +1

      Пожалуйста! Они будут :)

    • @lsgraalq8738
      @lsgraalq8738 Před rokem +1

      как судьба сложилась

  • @satisful
    @satisful Před rokem

    Вы лучший!!!

  • @noname-to3ld
    @noname-to3ld Před 6 lety

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

  • @user-fk7jl4ht1c
    @user-fk7jl4ht1c Před 5 lety

    Спасибо тебе большое

  • @georg1477
    @georg1477 Před 5 lety +2

    Доброго времени суток. Большая благодарность за понятный и доступный урок. Подскажите, пожалуйста, в коде, который в видео нужны ли два Сеттера setName и setAge, если их функционал выполняют эти 3 конструктора ? Можно ли два Сеттера убрать из кода ?

  • @abdulmajitkubatbekov5731

    Спасибо большое

  • @Anatoli-bq1pe
    @Anatoli-bq1pe Před 2 lety

    Благодарю!

  • @ivanbrogovich6779
    @ivanbrogovich6779 Před rokem

    спасибо большое!!!

  • @yurib1896
    @yurib1896 Před 6 lety +5

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

    • @oanshee2462
      @oanshee2462 Před 9 měsíci

      Учусь по Шилдту, но время от времени поглядываю в уроки сюда, и они очень помогают. У Шилдта есть проблема сразу без объяснений прыгать в сложную программу, где ты не сразу логику и алгоритм можешь понять, а тебе еще новую тему параллельно понять нужно. Все же я за подход, когда от легкого к сложному постепенно переходят. Но и все таки некоторые тонкости у Шилдта подробнее будут, иногда отстутвуют вовсе. Так что лучше иметь несколько источников.

  • @Varadorchik
    @Varadorchik Před 6 lety

    Спасибоууу!

  • @markdeev1111
    @markdeev1111 Před 2 lety

    Какой же ты сильный !

  • @Tyn4tyk
    @Tyn4tyk Před 7 lety

    уфффф наконец то дошло зачем эти конструкторы нужны!!на других ресурсах не могут толком объяснить,походу сами не понимают ))

  • @flowersbali6888
    @flowersbali6888 Před 6 lety

    Хорошие уроки

  • @ruslankolesnichenko6014
    @ruslankolesnichenko6014 Před 6 lety +2

    Вопрос: в чём значение написания в main(String[ ] args)? Что значат эти элементы (3шт.) внутри скобок? Почему именно они там фигурируют? В каком случае они подходят и как правильно понимать, что писать в скобках в main?

  • @Das.Kleine.Krokodil
    @Das.Kleine.Krokodil Před 2 lety

    Спасибо

  • @user-mb4nc3np6t
    @user-mb4nc3np6t Před 4 lety +15

    12/20/2019
    УРОК 20 КОНСТРУКТОРЫ
    Конструктор инициализирует поля для объекта
    В этом уроке поля дополнительного класса опять приватные
    Конструкторы нужны для того чтобы полям объекта присуждались значения одновременно с созданием самого объекта. Если пользователь не присвоит им значения, то им значения всё равно присвоятся (там будут какие-то значения которые будут присуждаться в таком случае когда юзер не присудил)
    3:25 начинаем писать конструкторы для нашего случая
    6:05 - создали конструктор в дополнительном классе и внутри записали код выводящий на экран “Привет с первого конструктора”
    Три конструктора.
    Первый - если вызвали и не дали параметры
    Второй - если вызвали но дали один параметр
    ИТОГ: Конструктор нужен для того что бы во время создания объекта в основном классе незамедлительно создавался объект со значениями
    Можно иметь в одном классе несколько методов с одним именем с одним условием что у них разное количество параметров в скобочках

    • @wickedtorpedo75
      @wickedtorpedo75 Před 3 lety

      не разное количество а комбинация параметров, например можно иметь 2 метода или же Конструктора с одними параметрами, где
      1) просто int num
      2) массив типа int[ ] arr
      можно иметь даже 100 методов или конструкторов с одинаковой количество параметром

    • @user-om9wk6wg1f
      @user-om9wk6wg1f Před 3 lety

      @@wickedtorpedo75 то есть их колво не вляиет, важно ли то что они передают

    • @wickedtorpedo75
      @wickedtorpedo75 Před 3 lety

      @@user-om9wk6wg1f ага

  • @user-pv6hy1ct8x
    @user-pv6hy1ct8x Před 7 lety

    Есть ли в планах видео о статических блоках?

  • @NIKOLASPLAY
    @NIKOLASPLAY Před 4 lety +4

    Ку из JavaRush)

  • @user-db9sd8rc3e
    @user-db9sd8rc3e Před rokem +1

    Можем ли мы в конструктор вшить проверку вводимых в параметр данных при создание объекта?

  • @jlutepatop9342
    @jlutepatop9342 Před 4 měsíci

    Здравствуйте! Подскажите на какие клавиши вы нажали что вернули то, что удалили? Пожалуйста подскажите.🤨😔

  • @dmitriykobets1944
    @dmitriykobets1944 Před 2 lety

    Грамотные и опытные, а для чего в этом примере нужны методы setName и setAge?

  • @DavidWillart
    @DavidWillart Před 7 lety

    Прекрасное изложение материала, без воды, всё по порядку и по существу. Большое спасибо. Есть вопрос по конструкторам. В какой ситуации может быть полезен вызов конструктора внутри конструктора. В уроках встречаю код
    class Something
    {
    int a;
    int b;
    public Something(int a, int b)
    {
    this(a,b);
    }
    }

    • @alishevN
      @alishevN  Před 7 lety +1

      Спасибо!
      По вопросу:
      Давайте я сразу приведу пример, чтобы стало понятно.
      У нас есть класс Person, у которого есть поле age.
      class Person {
      private int age;
      }
      Мы хотим добиться следующего: если при создании человека указывается его возраст - назначить возраст этому человеку, если возраст НЕ указывается - назначить возраст по умолчанию. Предположим, что возраст по умолчанию - 30.
      Тогда этого мы можем добиться следующей конструкцией:
      class Person {
      private int age;
      // пустой конструктор
      Person() {
      this(30); // вызываем другой конструктор, назначаем возраст по
      умолчанию
      }
      // непустой конструктор
      Person(int age) {
      this.age = age;
      }
      }
      В данном примере, если при создании объекта вызывается конструктор с возрастом (пример: new Person(15)), то вызывается непустой конструктор. Если вызывается конструктор без возраста (пример: new Person()), то внутри этого пустого конструктора вызывается конструктор с возрастом, который и назначает полю age значение по умолчанию.
      У вас может возникнуть вопрос: почему в пустом конструкторе мы просто не назначим поле напрямую - this.age = 30;
      Да, так тоже правильно. Я просто показал вам один из примеров, но иногда вызов конструктора внутри другого конструктора бывает полезным.

    • @alishevN
      @alishevN  Před 7 lety +1

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

  • @user-ek8vt1cx4v
    @user-ek8vt1cx4v Před 2 lety

    Не думав,що колись напишу коментар)).Але ти просто великий молодець,з твоїми уроками дуже легко все сприймається і є багато мотивації.

  • @katerinaromanovskaya9142
    @katerinaromanovskaya9142 Před 6 lety +2

    Не совсем понятно как взаимодействуют конструкторы и геттеры/сеттеры (геттеры/сеттеры они просто должны быть и все? или к каждому конструктору свои? а если в конструкторе уже указаны параметры?).

    • @alexmaliar3493
      @alexmaliar3493 Před 6 lety +2

      сеттеры позволяют менять значение, если надо.

  • @AndriiRabinovych
    @AndriiRabinovych Před 6 lety

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

  • @vvi93
    @vvi93 Před 3 lety

    Очень нравится Ваш канал, спасибо за труд! Вопрос: если сделать конструктор с именем и возрастом, как к нему прилепить сеттер с проверкой? Например, чтобы при создании объекта в параметр не передавали отрицательный возраст и т.д. Спасибо!

    • @dmitriykobets1944
      @dmitriykobets1944 Před 2 lety

      Задался тем же вопросом. Условие поставил прямо в конструктор и получилось ограничение:

    • @sokronendow
      @sokronendow Před rokem

      прямо в конструктор ставите условие if-else для каждого из параметров. например:
      public Car (String model){
      if (model.isEmpty()){
      System.out.println("Пустое поле.");
      } else {
      this.model = model;
      }

  • @programer8
    @programer8 Před 3 lety

    4:00 модификатор доступа дефолтного конструктора всегда совпадает с модификатором доступа его класса

  • @Creperman335thebest
    @Creperman335thebest Před rokem

    Все же в прошлых уроках у нас не было никакого конструктора и джава использовала дефолтный конструктор. Есть же разница между пустым и дефолтным конструктором. Верно же понимаю? Спасибо за ответ

  • @HelloWorld-ps2kd
    @HelloWorld-ps2kd Před 7 lety +1

    Спасибо за уроки. Так как ты никто не объяснял еще... ИМХО

  • @mrnezhivi
    @mrnezhivi Před 3 lety +2

    Что не урок то плодтвист в стиле: "на самом деле в прошлом уроке всё происходило так, существовал пустой конструкт, но ОН НИЧЕГО НЕ ДЕЛАЛ" и мы такие:"Аааааа..."

  • @user-bn9wc8db6s
    @user-bn9wc8db6s Před 2 lety +1

    Всем привет! Кто ни будь может написать показать пример кода на котором будет ЧЁТКО понятна разница между методом и конструктором?
    Спасибо!

  • @user-sk7kf7er6f
    @user-sk7kf7er6f Před 4 lety

    Разве сокрытие данных - это инкапсуляция? может немного стоит разделять эти понятия?

  • @dwasssik_3333
    @dwasssik_3333 Před 7 měsíci

    Can you please tell me where I can practice on these topics?

  • @user-pv6hy1ct8x
    @user-pv6hy1ct8x Před 7 lety

    И очень бы хотелось видео о нитях.

    • @alishevN
      @alishevN  Před 7 lety

      Серия видео о многопоточности обязательно будет.

    • @user-pv6hy1ct8x
      @user-pv6hy1ct8x Před 7 lety

      Спасибо. Это очень здорово!

  • @christineborovkova4679

    Добрый день, у меня почему-то говорит, что класс Human типо уже есть (из предыдщуего урока). А у вас нет такой проблемы? Пришлось изменить human на human1

    • @alishevN
      @alishevN  Před 4 lety

      Да, в проекте не может быть классов с одинаковыми названиями. Старый класс Human можно удалить.

  • @egos_ua
    @egos_ua Před 4 lety

    Начиная с 10:40, когда в конструкторе без параметров мы устанавливаем значения по умолчанию. Но ведь там не нужно использовать this. Или это условность, чтоб не путаться, пока не прошли это ключевое слово?

    • @alishevN
      @alishevN  Před 4 lety +2

      Да, чтобы не путаться.

  • @garryv_ugare6467
    @garryv_ugare6467 Před 3 lety +1

    Спасибо за видео. Немного не понял, зачем тогда сеттеры, если мы через конструктор сразу указываем и имя и возраст.

    • @dmitriykobets1944
      @dmitriykobets1944 Před 2 lety +1

      вот и меня мучает этот вопрос! Тут методы setName и setAge зачем нужны?

    • @propilen3
      @propilen3 Před 10 měsíci +1

      Чтобы менять имя и возраст извне после создания объекта. В 18 лет, например, урождённой Вадик превращается в Машу.

  • @alexandrkomar4741
    @alexandrkomar4741 Před 3 lety

    ты сказал перегрузка консрукторов, а потом перегрузка методов. выходит это одно и тоже? То есть консруктор и есть метод? и если у нас есть различные конструкторы с одинакоым названием - это и есть перегрузка метода(конструктора)?

  • @ibanezboy2443
    @ibanezboy2443 Před 2 lety

    Привет, idea заставляет меня этот класс human делать static, хотя делал все также, как в видео(

  • @guestguest6442
    @guestguest6442 Před 4 lety

    Неиль, огромный вопрос - если мы создаём конструктор класса, то получается гетеры-сетеры можно уже не использовать???

    • @alishevN
      @alishevN  Před 4 lety +1

      Нет, обычно в классах бывают и конструкторы, и геттеры/сеттеры.

    • @guestguest6442
      @guestguest6442 Před 4 lety

      @@alishevN так и понял, спасибо! Так сказать - лучше создавать и конструктор и геттеры-сеттеры вместе в классе...

  • @user-ze3zo3oq5b
    @user-ze3zo3oq5b Před 7 měsíci

    А если передать в конструктор пустую строку и отрицательное число то конструктор проинициализирет эти значение? Даля чего тогда сеттер?

  • @ilytoowee1372
    @ilytoowee1372 Před rokem

    Если сделать конструктор(как в видео, с именем и возрастом), то сеттер (с именем и возрастом) не нужен?

    • @propilen3
      @propilen3 Před 10 měsíci +1

      Не нужен, если не предполагается менять имя и возраст у созданного объекта позднее

  • @etot-gus
    @etot-gus Před rokem

    а как тогда сеттеры и гетеры

  • @user-zu1id3xg9i
    @user-zu1id3xg9i Před 5 lety +1

    Получается, что конструкторы заменяют сеттеры?

    • @alishevN
      @alishevN  Před 5 lety +4

      Почему заменяют?
      Это еще один способ инициализировать поля ваших объектов.
      Конструктор инициализирует поля только при создании объекта, а сеттеры могут инициализировать поля после создания объекта и также могут менять значения полей.

    • @programer8
      @programer8 Před 3 lety

      в каком-то смысле да, с помощью сетеров можно изменять значения полей обьекта сколько угодно раз, с помощью конструктора всего 1 раз, при создании обьекта

  • @PhilipPreobrazhensky
    @PhilipPreobrazhensky Před rokem

    Почему в конструкторе мы обращаемся напрямую к полям, а не через методы set?

    • @sokronendow
      @sokronendow Před rokem

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

    • @sokronendow
      @sokronendow Před rokem

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

  • @vladimirplohotniuk5214

    На сколько я понимаю, параметр по умолчанию в качестве аргумента не работает нормально в Java. То что вы предложили в конце видео..., если вы создадите новый экземпляр без параметров, выведет все норм. Но в случае если впишете свои данные в качестве аргументов, то будет ошибка.

  • @user-fu4nx4rm4i
    @user-fu4nx4rm4i Před 2 lety

    приветствую! в этом уроке не запускается программа, ошибка следующая: duplicate class: Human
    подскажи пжл, в чем проблема?!
    заранее очен благодарен!

    • @murtazina_raisa
      @murtazina_raisa Před rokem

      В lesson19 поменяйте название класса Human на Human19 например

    • @user-mf7dc7xh2h
      @user-mf7dc7xh2h Před rokem +1

      @@murtazina_raisa спасибо!

  • @Muhadron
    @Muhadron Před 3 lety

    что будет с перегруженньІми методами если у меня
    public void megaMethod (String str){}
    public void megaMethod (Human human) {}
    і я визиваю myMegaObject.megaMethod(null);

  • @user-dr8dd1ny6p
    @user-dr8dd1ny6p Před 5 lety

    только наверное перегрузка конструкторов, а не методов) Ну в плане терминологии. Ну да а принцип тот же.

  • @bonefire2725
    @bonefire2725 Před 4 lety

    Наверно сюда мало кто заглядывает, но на всякий случай задам вопрос. Если в нашем классе Human мы уже создали геттеры и сеттеры, то на сколько неправильным было бы заполнять конструктор с помощью this.setName(name) и this.setAge(age)? Влияет ли это как нибудь на производительность? И вообще такое практикуется на настоящих проектах?

    • @alishevN
      @alishevN  Před 4 lety

      Это нормальный подход. В конструкторе можно вызывать сеттеры.

    • @dmitriykobets1944
      @dmitriykobets1944 Před 2 lety

      @@alishevN тогда получается мы и в сеттерах задаем значение name и age, и в параметрах объекта их задаем? как это так???

    • @user-ej5uu8cj9p
      @user-ej5uu8cj9p Před rokem +3

      @@dmitriykobets1944 наверное уже поздно но для других людей которые наткнуться на этот вопрос: параметры конструктара передадуться сеттеру, а сеттер установит значения.

  • @nordone_travels
    @nordone_travels Před 26 dny

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

  • @andreywest9269
    @andreywest9269 Před 7 lety

    А зачем тогда в этой программе нужны сет методы? Если мы получаем доступ к приват полям через конструкторы?

    • @Le_schiffer
      @Le_schiffer Před 7 lety

      Ты получаешь доступ не к приват полю, а к значению, которое это поле хранит

  • @kiranis2174
    @kiranis2174 Před 6 lety +2

    В конце урок же не закончен ,у меня не вышло вызвать этот пустой метод!
    public Human() {
    this.name = "Имя по умолчанию";
    this.age =0;

    • @strongmisha
      @strongmisha Před 6 lety

      Ни фига у меня тоже не вызывает я в ij работаю!!!!

    • @user-or3zo3wi6y
      @user-or3zo3wi6y Před 5 lety

      Он просто присваивает, вы этого не видите, все работает

  • @15bleach51
    @15bleach51 Před 4 lety

    Жаль что видео всего в 720p

  • @marianfree3543
    @marianfree3543 Před 7 lety

    не понимаю почему пользователь задает сколько параметров будет в обьекта.Мы же пишем код и делаем что нужно ввести пользователю для того чтоб создать обьект.Может обьяснить?

    • @Lexoid65
      @Lexoid65 Před 7 lety

      Почему же пользователь задаёт? Набор необходимых параметров, которые необходимо будет передать в конструктор при создании экземпляра класса задаёт именно разработчик при описании конструктора в теле пользовательского класса (ведь именно мы задаём сигнатуру метода, а не какой-нибудь абстрактный пользователь). Пользователь, это тот человек, который будет пользоваться конечным продуктом посредством разрешённого для этих целей интерфейса. Если разработчик посчитает нужным, чтобы при создании экземпляра класса обязательно были проинициализированы всё поля класса (к примеру, имя и возраст человека), то он создаст в теле класса один единственный конструктор, который будет принимать на вход аргументы отвечающие за инициализацию возраста и имени. В этом случае, пользователь не сможет оставить параметры пустыми или поставить свой набор параметров, которые не будут соответствовать сигнатуре конструктора, который был описан в пользовательском классе.

  • @murtazina_raisa
    @murtazina_raisa Před rokem

    У меня почему-то при создании класса Human ругается на то, что название Human уже было в уроке 19

    • @p0gchamp
      @p0gchamp Před rokem

      у меня тоже

    • @murtazina_raisa
      @murtazina_raisa Před rokem

      @@p0gchamp попробуйте переименовать в Human1 например.
      Это из-за того, что класс Human был уже в другом пакете