Java для начинающих. Урок 19: Ключевое слово this.

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

Komentáře • 142

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

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

  • @rMansarda
    @rMansarda Před 7 lety +118

    Лучшее видео по this для понимания, thx.

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

      спасибо!

    • @user-bw7ov8ip5w
      @user-bw7ov8ip5w Před 6 lety +2

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

  • @Ekler_knit
    @Ekler_knit Před 9 měsíci +5

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

  • @deniswebzpdeniswebzp4582
    @deniswebzpdeniswebzp4582 Před 4 lety +17

    Как же всё просто оказывается, когда хорошо объясняют. Уже голову сломал из-за этих геттеров, сеттеров, this и т.д. Наконец-то дошло. Большое вам спасибо!

  • @user-ts1fm3ck2y
    @user-ts1fm3ck2y Před 4 lety +35

    Думал посмотреть 1 урок и пойти спать) в итоге смотрю 9ый уже)) Уроки понятные, а главное интересные) Спасибо!

  • @user-fl7px4hz9d
    @user-fl7px4hz9d Před 6 lety +66

    на данный момент занимаюсь по книжке Шилдта. Столкнувшись с этим топиком мой пыл немножко приуныл.
    Информация, которую я нашел тут, вернула жара моему пылу. Спасибо вам огромное.

    • @user-qr7np3rw9k
      @user-qr7np3rw9k Před rokem +7

      ты уже senior?)

    • @fl1ss613
      @fl1ss613 Před rokem +1

      ​@@user-qr7np3rw9k мейби он забросил

  • @user-pp1cn2ut4y
    @user-pp1cn2ut4y Před rokem +24

    Братуха, ты ключ для обычных пацанов в лучшую жизнь, я надеюсь ты увидишь то что я пишу, спасибо за всё

  • @user-st6om9pn3s
    @user-st6om9pn3s Před 2 lety +30

    Ну что сказать?
    Ты лучший!
    До этого урока я думал что я что то понимаю но придется еще много раз повторить, но когда ты начал писать эту программу я осознал что я понимаю все что ты написал и как это работает.
    Спасибо!
    И еще раз"Ты лучший учитель"
    Жаль что немногу поставить больше одного лайка.

  • @meyrambekzhantore7958
    @meyrambekzhantore7958 Před rokem +1

    Спасибо тебе брат, дай Аллах тебе здоровье!

  • @Kitsikoo
    @Kitsikoo Před 6 lety +24

    Alt+Insert = автоматическое создание геттеров, сеттеров, конструкторов :)

  • @user-bs2im4ll6x
    @user-bs2im4ll6x Před 7 lety +28

    ни одного дизлайка, топ джава уроки всего рунета

  • @calardelsol6975
    @calardelsol6975 Před rokem +2

    Спасибо Вам за проделанную работу! Курс по Java-программированию начала понимать только с Вашими видео-уроками!

  • @user-ee6dt3qc1t
    @user-ee6dt3qc1t Před 11 měsíci

    Дай Бог тебе здоровья, добрый человек!!!

  • @Anton...M
    @Anton...M Před 5 lety +5

    Отличное объяснение, наконец-то все улеглось в голове, после изучения множества запутанных материалов.

  • @nezetka
    @nezetka Před 23 dny

    все мега понятно, хотелось бы больше уроков по java

  • @rumataastorskiy5734
    @rumataastorskiy5734 Před 7 lety

    Спасибо за все Ваши уроки. Продолжаю смотреть)

  • @dinoortolani4168
    @dinoortolani4168 Před 6 lety

    Отличные уроки! Это лучшее, что находил на просторах ютуба!!!

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

    Нет слов, просто благодарю, очень доступно, очень понятно.

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

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

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

    Отличные объяснения! Все понятно сразу)

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

    Спасибо большое за уроки, очень помогают в разъяснении!

  • @usertyfoon
    @usertyfoon Před rokem

    Очень хорошие доступные уроки для начинающих! Благодарю вас!

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

    Шикарное видео,позволяющее понять,что откуда и для чего берется,присваивается и как это работает.До этого я знал,что this используется в коде,но понятия не имел как это устроено и что делает.Очень качественно по теории дается объяснение.Спасибо,буду учиться дальше.

  • @korumstar9989
    @korumstar9989 Před 5 lety

    Спасибо! Разъяснения на высоте!

  • @user-my5nw2kg6l
    @user-my5nw2kg6l Před 4 lety +1

    очень крутые видео, спасибо, все полностью понятно)

  • @vadimoff22
    @vadimoff22 Před 4 lety

    Самое лучшее объяснение этому слову! This.спасибо

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

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

  • @user-yv4lv7gh4j
    @user-yv4lv7gh4j Před 8 lety +1

    Ну наконец то доходчивое объяснение ) Спасибо !

  • @NellieVerner
    @NellieVerner Před 8 lety

    спасибо, и ждем следующих серий! :)

  • @FepeseVi
    @FepeseVi Před 2 měsíci +3

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

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

    Спасибо чел. Уроки то что нужно :)

  • @denironman
    @denironman Před 8 lety

    Все просто и понятно, благодарю.

  • @ilyadmitenko4844
    @ilyadmitenko4844 Před rokem

    Спасибо, лучшее объяснение!

  • @bektasamangeldi3192
    @bektasamangeldi3192 Před 4 lety

    спасибо большое за такие видеоуроки очень полезно

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

    Автор, еще раз спасибо за толковые уроки и твой труд, надеюсь еще будут новые уроки....

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

      +Дмитрий Ермолинский Будут!)

  • @Darkgohn
    @Darkgohn Před 5 lety

    Спасибо большое за разъяснение

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

    Полезное видео, понятно наконец стало

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

    Спасибо Наиль!

  • @user-xu2fq5io5s
    @user-xu2fq5io5s Před rokem +6

    Видео крутое , но по-моему автор допустил недочёт при объяснении this в роде ссылки на объект . human1 и human2 это не объекты , это ссылки на объекты . Получается this ссылается на ссылочные переменные human1 и human2 , чтобы обратиться к объекту класса Human

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

    Для тех кто чуть ленив, ALT+INSERT и выбирате, + CTRL + J сокращения, говорят хороший программист - ленивый программист )

  • @TarikBat
    @TarikBat Před rokem

    Очень доходчиво!!!

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

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

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

    Целый урок посвятить одному ключевому слову... мощно)))

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

    Спасибо, очень помог

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

    Коротко и понятно)

  • @pegasovich
    @pegasovich Před 4 lety

    просто КРАСАВА!!!

  • @AK-it4nk
    @AK-it4nk Před 7 lety

    Понравилось!Спасибо!

  • @El-ns1vl
    @El-ns1vl Před 5 lety

    Браво!

  • @natmazhara6221
    @natmazhara6221 Před 6 lety

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

  • @andriisegeniuk5747
    @andriisegeniuk5747 Před 4 lety +16

    System.out.println("Очень круто и доступно. Спасибо.");

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

    Спасибо, лучше всех объясняешь. Плюс тебе с карму))))))))

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

    super. thank you!

  • @C2H5OHH
    @C2H5OHH Před 2 lety

    Спасибо!

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

    12/20/2019
    - 2:33 - можно увидеть сеты и геты вместе. И заметить что сеты имеют тип данных внутри скобки, а геты - снаружи вместо войда
    - Создать как в предыдущем уроке класс Человек с полями Имя и Возраст
    - В этом дополнительном классе создать для полей методы сет и гет
    - Создать метод Инфа который выводит на экран имя и возраст чела.
    - Создать в основном классе Дмитрия возрастом 18 лет
    - Дописать this
    - ВЫВОД: можно и переменную/поле дополнительного класса И переменную в сете и гете тупо называть одним именем (чтобы не путаться). Вот только к имени переменной от класса которая, когда она пишется внутри сета, впереди дописываем this. - что бы показать что она от класса. Это поможет нам НЕ пустить третьи лица напрямую присваивать значение полям в нашем классе дополнительном который только для программеров
    - ВОПРОС а почему в этому уроке поля в дополнительном классе не приватные, а публичные?
    “this - ключевое слово которое вызывает объект внутри класса”

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

      тоже не понял почему поля класса Human не приватные.
      p.S Нашел ответ ниже в комментах

  • @deniskovalev9743
    @deniskovalev9743 Před 8 lety

    спасибо!

  • @alexb.2616
    @alexb.2616 Před 4 lety

    Ну, это ж, бляха, гениально!!! Чтобы не изобретать разные имена, лупануть this. Спасибо за объяснение. Только после Вашего урока понял.

  • @scriptobot9474
    @scriptobot9474 Před 7 lety +2

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

  • @dant5550
    @dant5550 Před 5 lety

    Спасибо

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

    хороший урок) а есть уроки по взаимодействию объектов Java?

  • @m4treshk4
    @m4treshk4 Před rokem

    прошу заметить, что для удобства написания геттеров и сеттеров можно не писать это руками, а кликнуть пкм на поля refactoring -> incapsulate fields. Всё создастся автоматически

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

    Сука, наконец-то я понял! Урок огонь!

  • @askarslambekov4038
    @askarslambekov4038 Před 3 lety

    до этого не очень был ясен смысл слова this. Просто запомнил конструкцию и все. Спасибо!

  • @gagogoga794
    @gagogoga794 Před 4 lety

    Бог!

  • @katerynaburakowa4709
    @katerynaburakowa4709 Před 7 lety +2

    Отличные видео. Спасибо огромное.
    Какой комбинацией клавиш вы пользуетесь при быстром вводе public static void main? Если не секрет.
    Было бы замечательно если бы вы озвучивали горячие клавиши!

    • @rMansarda
      @rMansarda Před 7 lety

      ide сама может так делать уже по умолчанию, просто нужно писать первые буквы стандартных методов, в этом случае psv + enter

    • @Lexoid65
      @Lexoid65 Před 7 lety

      Точнее psvm

    • @strizhhh
      @strizhhh Před 7 lety

      Секрет. Зайдите на канал Jet Brains, создателей IDE этой. Там будут ролики для ленивых с горячими клавишами, даже на русском, для нового поколения недопрограммистов. Тут я соглашусь с 302, хоть он и резкий в высказываниях, но реально деградация идет специалистов, даже гугл уже им не помогает.

  • @DmitryZayats
    @DmitryZayats Před rokem

    Привет, спасибо за ролики
    Вопрос такой, почему на 7:28 вы назвали класс абстрактным? Где слово abstract, без слова abstract - это обычный класс так?

  • @user-tr5js3px4x
    @user-tr5js3px4x Před 4 lety +4

    У меня не было вывода, пока Human класс не сделал Static

  • @skatskau1102
    @skatskau1102 Před 6 lety

    Урок супер! Однако, хочу отметить небольшую деталь. Первое. Раз мы используем сетеры и гетеры, то параметры класса Human должны быть инкапсулированы, а они не инкапсулированы (нет слова private). Второе. Если, переменная класса name будет статической и её имя будет совпадать с именем переменной одного из метода этого класса, то обращаться к переменной класса из метода нужно путем добавления не слова this, а имени класса (т.е. вместо this.name нужно будет писать Human.name).

    • @Lexoid65
      @Lexoid65 Před 6 lety

      Не соглашусь с Вами! Где Вы вообще видели акцессоры и мутаторы для статических полей? Они попросту не нужны! Как правило, статические поля имеют константный характер и являются общедоступными (имеют спецификатор доступа public). Соответственно, в большинстве случаев, для изменения этих переменных не требуются дополнительные методы для осуществления доступа и модификации этих переменных.

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

    Когда говорится, что через this мы получаем объект, как я понимаю this содержит ссылку на объект в памяти по который мы и получаем доступ к объекту.

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

    Когда он создал human2, то setName и setAge уже не будут обращаются к human1? Т.е. они уже будут обращаться к последнему созданному объекту?

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

    Здравствуйте. Первый делом хочу по благодарить Вас за ваши уроки.
    Вторым делом, хочу задать вопрос. В предыдущем уроке вы рассказывали, что нам нельзя давать пользователю доступ к "главной переменной" через которую он передаёт информацию для обработки в класс. т.е. мы делали так:
    public void setName(String username){
    if (username.isEmpty()){
    System.out.println("Ты ввёл пустое имя");
    } else
    name = username;
    }
    Если всё ок, то мы присваиваем полученную переменную с главного метода переменной username, для дальнейшей обработке её в классе, тем самым перекрываем пользователю доступ к ней.
    В этом же видео, мы не меняем название переменной, т.е. не перекрываем доступ к ней. Хотя, у меня есть предположение, что я что-то не так понял, и именно ключевым словом this. мы обращаемся к источнику данных (от куда они поступают), тем самым берём оригинальные данные, которые типо не были подделаны или же изменены в ходе работы программы. Могли бы Вы объяснить этот момент?
    И вот ещё что, в данном уроке мы не делали приватными:
    String name;
    int age;
    Забыли или я снова что-то не понял?

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

      +Prototype - TV Здравствуйте!
      Во-первых нет никакой "главной переменной", есть переменные, принадлежащие классу, так называемые поля класса.
      Во-вторых мы не перекрываем доступ пользователю к полям классам, мы просто заставляем его обращаться к ним и назначать их через специальные методы - геттеры и сэттеры.
      Название переменной в методе не важно абсолютно. Единственная причина по которой я не писал
      public void setName(String name){
      name = name;
      }
      заключается в том, что джава не поймет такой код и будет считать внутри метода переменную name той, которая поступила в аргументах.
      На этом же уроке мы научились с помощью слова this обращаться к переменной класса
      поэтому this.name = name становится корректным кодом, где слева - переменная класса с именем name, а справа переменная поступившая в аргументе метода.
      В этом уроке я не сделал поля приватными потому, что забыл, да.
      Их надо делать такими, если мы решили инкапсулировать и обращаться к ним через сэттеры и геттеры.

    • @devprototype
      @devprototype Před 8 lety +1

      +javaRussia Вот теперь всё стало на свои места. Большое спасибо за ответ!

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

      +Prototype - TV Пожалуйста

  • @maxprokopenko8307
    @maxprokopenko8307 Před 6 lety

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

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

      Max Prokopenko В контексте этого урока их можно было и не прописывать. Видимо для того, чтобы будущие программисты не забыли о их существовании :)

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

    Только в методе getInfo я бы поставил getName и getAge (вместо name и age), а то смысла от геттеров, получается, что нет

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

      В getInfo нужно по полям name и age обращаться, т.к. этот метод внутри класса. Сеттеры и геттеры нужны для обращения из внешних классов

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

    Забавно, что Герберт Шилдт в своей книге "Java8: Руководство для начинающих. Шестое издание", рекомендует избегать подобного стиля программирования, использования this... стр.157 последний абзац...

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

      "...пользоваться ключевым словом this очень удобно" 180 стр. Java9: Полное руководствоо. Десятое издание. Шилтд))

  • @DimbikeY
    @DimbikeY Před rokem

    На данный момент не очень понятно, почему мы используем object_name.isEmpty(), но Arrays.ToString(object_name). Разве при object_name.ToString() он не может сослаться на тип объекта класса?

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

    А после создания human2, как сделать так , чтобы переменная this.name обращалась к старой переменной human1 ?

    • @Lexoid65
      @Lexoid65 Před 6 lety +3

      Никакой проблемы после создания экземпляра human2 не происходит. Если Вам необходимо вызвать соответствующий мутатор (set-метод) на определенном объекте, то исходя из внутренней логики самого объекта, которая описана в классе Human, мы всё так же будем совершать обращение к полю именно того объекта, на котором совершается вызов метода. Иными словами, при вызове метода setName() или setAge() на объекте human1 мы будем модифицировать поле именно этого объекта, соответственно, при вызове метода на другом объекте (human2), работа этого метода будет затрагивать поля именно того объекта, которому мы посылали запрос на выполнение метода.

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

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

  • @user-ez8yt3bc7u
    @user-ez8yt3bc7u Před 4 lety +1

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

  • @maykmazovsky2086
    @maykmazovsky2086 Před rokem

    как закрыть классы на замочки? или открыть. при запуске новых открываются старые

  • @beaver4529
    @beaver4529 Před 3 lety

    Как же Вы понятно и доходчиво обьясняете! За вечер разобрался и попробовал на практике что уже думал бросать. Просто неимоверно ценный курс для новичков. Очень жаль что нельзя 10-30 лайков поставить под каждым видео..

  • @evpatorya
    @evpatorya Před rokem

    вот теперь и гетеры с сетерами понятны стали,просто в предыдущем уроке оч много "мусора"(ранее напечатанного кода) вокруг них

  • @user-uh2bd3di1z
    @user-uh2bd3di1z Před 3 měsíci

    А у меня почему-то такая ошибка вышла: No enclosing instance of type Lesson19 is accessible. Must qualify the allocation with an enclosing instance of type Lesson19 (e.g. x.new A() where x is an instance of Lesson19).

  • @MrDnovik
    @MrDnovik Před 3 lety

    this - это аналог self из Python. Ну или наоборот)) Я питонист, поэтому на все смотрю пока с точки зрения того, как это в Python реализовано.

    • @alishevN
      @alishevN  Před 3 lety

      да, так и есть.

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

    Почему getName возвращает (тайм код 2:39), если мы получаем геттером?

  • @AndrewZayts14
    @AndrewZayts14 Před 7 lety +6

    JavaRussia. Хочу сказать ,что уроки в принципе хорошие и достаточно понятные.Я доволен. Хочу заметить,что было бы огромным плюсом к Вашим урокам различные задания по теме для лучшего закрепления материала.Что-то слушать ,где-то писать за Вами-это хорошо,но рука не набивается и впоследствии спустя несколько тем понимаешь,что вроде все понятно ,но без шпаргалок код и не напишешь.Заранее спасибо. Ставлю палец вверх и надеюсь,что Ваш канал будет развивать. Удачи .

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

      Первоклассный тролль

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

      2 302 По всей видимости ваши родители не привили должного воспитания. Человек дело предлагает создателю канала, чтобы канал рос и развивался. Но без вашего мнения с матами, конечно же, ни одно дело не двигается. Жаль. Вас. И ваших родителей.

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

    Друг, тебе учебники нужно писать, такого понятного объяснения еще не встречал

  • @PhilipPreobrazhensky
    @PhilipPreobrazhensky Před rokem

    Почему в методе get info мы обращаемся напрямую к полям age и name, а не к созданным геттерам? Зачем мы тогда создавали эти геттеры?

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

      Думаю, вы уже разобрались, но для новопришедших:
      getInfo() находится в том же классе, что и поля. Ему разрешено их видеть. Геттерами и сеттерами тоже можно, но избыточно. Они нужны только для обращения к объекту извне. Это как с кухни в соседнюю комнату по телефону звонить. Можно просто крикнуть: "Мааам, пельмени уже сварились?" 😅

  • @ringoway
    @ringoway Před rokem

    this используется в геттерах?

  • @Rizomus
    @Rizomus Před rokem +1

    Маленькое уточнение: this - это экземпляр класса, а не сам класс

  • @Axe5345
    @Axe5345 Před 6 lety

    Автор, у меня такой вопрос.. в классе Human, перед методами set и get я забыл указать идентификатор public, и писал просто void setName() либо int getAge() и программа также запустилась и проработала без ошибок. Что в данном случае я дал понять программе, не поставив public перед методами? В чем разница, если стоит слово public либо же его нет?

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

      Изучите тему "Область видимости".

  • @Barracuda438
    @Barracuda438 Před rokem

    Сеттеры и геттеры можно писать не попарно?

  • @koornik6393
    @koornik6393 Před 3 lety

    Я не могу понять почему я не могу вывести getInfo. Сколько не пробовал и не гуглил - все равно светится красным и не выводятся на экран значения name и age((((( HELP ME PLEASE

  • @GekaTeng
    @GekaTeng Před 7 lety

    не могу передать из другого класса переменные и вывести их на экран в JFrame. могу скинуть проект

  • @pavelskrebkoff159
    @pavelskrebkoff159 Před 5 lety

    Компилятор выдает ошибку:
    Error:(7, 24) java: non-static variable this cannot be referenced from a static context

    • @sabatr1989
      @sabatr1989 Před 4 lety

      помогла замена class Human ->> static class

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

    Почему в методе мы так пишем?
    public void setAge(int age)
    {}
    public int getAge(int age)
    {}
    В setAge есть void а в getAge без void? Вроде в книге написано что void используется только если не возвращает значение. А здесь 🤷‍♀️

  • @maksinspire
    @maksinspire Před 7 lety

    почему геттеры не используются?

    • @Lexoid65
      @Lexoid65 Před 7 lety

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

  • @valsanchez7785
    @valsanchez7785 Před 3 lety

    Засела на этом уроке, потому что выдаёт non-static variable this cannot be referenced from a static context.

  • @samirverdi
    @samirverdi Před 8 lety

    Как запустить подобное в коммандной строке? Почему возникают ошибки?
    ----------------------------------------------------------
    java:4: error: expected
    public static void main (String = args){
    java:4: error: illegal start of type
    public static void main (String = args){
    .....
    java:30: error: class, interface, or enum expected
    public int getAge(){
    21 errors

    • @Lexoid65
      @Lexoid65 Před 7 lety

      Допущена ошибка при написании аргументов метода main(), вместо знака равенства "=" нужно поставить пару квадратных скобок "[ ]", которые будут указывать на то, что в качестве входных параметров метод будет принимать одномерный массив строк (класс String).
      Правильно будет так:
      -----------------------------------------------------------------------------------------------
      public class SomeClass {
      public static void main(String [ ] args) {
      }
      }

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

    а почему бы гетеры и сетеры в один метод не объявлять?

    • @Lexoid65
      @Lexoid65 Před 7 lety

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

  • @konstantin4786
    @konstantin4786 Před 7 lety

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

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

    Что у меня не так?(yadi.sk/d/hi2-eQy8py5SU в этой папке скриншот с ошибкой)