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

Поделиться
HTML-код
  • Опубликовано: 30 ноя 2024

Комментарии • 153

  • @alishevN
    @alishevN  6 лет назад +6

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

  • @rMansarda
    @rMansarda 8 лет назад +120

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

    • @alishevN
      @alishevN  7 лет назад +12

      спасибо!

    • @ПетрФролов-е6г
      @ПетрФролов-е6г 6 лет назад +2

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

  • @AlexeyLebedev-v8h
    @AlexeyLebedev-v8h 7 лет назад +67

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

    • @ВспомнитьвсёсКарлХаузером
      @ВспомнитьвсёсКарлХаузером 2 года назад +7

      ты уже senior?)

    • @fl1ss613
      @fl1ss613 Год назад +1

      ​@@ВспомнитьвсёсКарлХаузером мейби он забросил

    • @csgocut
      @csgocut 4 месяца назад

      @@ВспомнитьвсёсКарлХаузером а ты чего добился за год?

    • @csgocut
      @csgocut 4 месяца назад

      @@fl1ss613 а ты чего добился за год?

  • @deniswebzpdeniswebzp4582
    @deniswebzpdeniswebzp4582 4 года назад +17

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

  • @ВасяВетров-б1д
    @ВасяВетров-б1д 2 года назад +31

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

  • @Камень-л4ф
    @Камень-л4ф 4 года назад +36

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

  • @Ekler_knit
    @Ekler_knit Год назад +4

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

  • @StreLnikov84
    @StreLnikov84 Год назад

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

  • @meyrambekzhantore7958
    @meyrambekzhantore7958 Год назад +1

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

  • @calardelsol6975
    @calardelsol6975 Год назад +2

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

  • @Kitsikoo
    @Kitsikoo 6 лет назад +25

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

  • @Anton...M
    @Anton...M 6 лет назад +5

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

  • @alexshepelev2911
    @alexshepelev2911 4 года назад +2

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

  • @usertyfoon
    @usertyfoon Год назад

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

  • @abababa-r2s
    @abababa-r2s 7 лет назад +28

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

  • @ВладимирСимак-с3р
    @ВладимирСимак-с3р 2 года назад

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

  • @FepeseVi
    @FepeseVi 7 месяцев назад +3

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

  • @Nebo12345
    @Nebo12345 2 года назад +1

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

  • @delta1729
    @delta1729 Месяц назад

    0:24
    У человека нет имени😂😂
    А если серьёзно, спасибо огромное!!!! Очень хорошо и понятно всё объясняешь!!!

  • @vitaliyk.6371
    @vitaliyk.6371 6 лет назад

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

  • @dinoortolani4168
    @dinoortolani4168 7 лет назад

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

  • @vadimoff22
    @vadimoff22 5 лет назад

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

  • @АлексейСтепанов-з2ж

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

    • @alishevN
      @alishevN  7 лет назад +1

      Пожалуйста!

  • @ArsArs-x7i
    @ArsArs-x7i 2 года назад +28

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

    • @vitaliksavchuk7536
      @vitaliksavchuk7536 4 месяца назад

      Как успехи спустя год?

    • @ArsArs-x7i
      @ArsArs-x7i 4 месяца назад

      @@vitaliksavchuk7536 работаю

  • @Mariam_PinkLotus
    @Mariam_PinkLotus 5 лет назад +3

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

    • @Stavr0gin_
      @Stavr0gin_ 2 года назад +1

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

  • @hellormp1819
    @hellormp1819 4 года назад +3

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

  • @dmitryykuzin
    @dmitryykuzin Год назад

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

  • @ilyadmitenko4844
    @ilyadmitenko4844 2 года назад

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

  • @yuliapoida4108
    @yuliapoida4108 3 года назад +1

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

  • @Дмитрий-ч6п5й
    @Дмитрий-ч6п5й 9 лет назад

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

    • @alishevN
      @alishevN  9 лет назад +3

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

  • @rumataastorskiy5734
    @rumataastorskiy5734 8 лет назад

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

  • @ГлебСветогор-ж1х
    @ГлебСветогор-ж1х 2 года назад +8

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

  • @AlexandrStroicev
    @AlexandrStroicev 6 лет назад +1

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

  • @nezetka
    @nezetka 5 месяцев назад

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

  • @bektasamangeldi3192
    @bektasamangeldi3192 4 года назад

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

  • @АлексейМиронов-ь7ю

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

    • @alishevN
      @alishevN  7 лет назад +1

      Пожалуйста!

  • @andriisegeniuk5747
    @andriisegeniuk5747 5 лет назад +17

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

  • @m4treshk4
    @m4treshk4 Год назад

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

  • @korumstar9989
    @korumstar9989 6 лет назад

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

  • @denironman
    @denironman 9 лет назад

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

  • @СергейЕмельянов-э3ъ

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

  • @TarikBat
    @TarikBat 2 года назад

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

  • @scriptobot9474
    @scriptobot9474 8 лет назад +2

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

  • @Грант1147
    @Грант1147 5 лет назад +1

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

  • @АлександрГоупрошкин

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

  • @Kotik-e6k
    @Kotik-e6k 7 лет назад

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

  • @Darkgohn
    @Darkgohn 6 лет назад

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

  • @NellieVerner
    @NellieVerner 9 лет назад

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

  • @alexb.2616
    @alexb.2616 5 лет назад

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

  • @Anatoli-bq1pe
    @Anatoli-bq1pe 2 года назад

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

  • @EdmundBowie-n3z
    @EdmundBowie-n3z 4 месяца назад +53

    А как лучше использовать ключевое слово this в методах класса? я сам недавно искал курсы по IT, чтобы разобраться в программировании. Рассматривал разные варианты, но в итоге выбрал Skypro, и благодаря их наставнику смог найти первого заказчика))

    • @vendory1377
      @vendory1377 3 месяца назад

      Какая же позорная реклама у skypro, хоть бы аккаунты старые купили

    • @ТимофейВоронин-р4б
      @ТимофейВоронин-р4б 3 месяца назад

      реклама убожество

    • @Стольный
      @Стольный Месяц назад

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

  • @pegasovich
    @pegasovich 4 года назад

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

  • @teamegovv
    @teamegovv 6 лет назад

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

  • @AK-it4nk
    @AK-it4nk 8 лет назад

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

  • @askarslambekov4038
    @askarslambekov4038 4 года назад

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

  • @DmitryZayats
    @DmitryZayats Год назад

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

  • @beaver4529
    @beaver4529 3 года назад

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

  • @ИванЛегостин
    @ИванЛегостин 6 лет назад

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

  • @НимяШавкеев
    @НимяШавкеев 4 года назад

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

  • @katerynaburakowa4709
    @katerynaburakowa4709 8 лет назад +2

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

    • @rMansarda
      @rMansarda 8 лет назад

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

    • @Lexoid65
      @Lexoid65 7 лет назад

      Точнее psvm

    • @strizhhh
      @strizhhh 7 лет назад

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

  • @AndrewZayts14
    @AndrewZayts14 8 лет назад +6

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

    • @ФЕМИСТОКЛ-м2м
      @ФЕМИСТОКЛ-м2м 7 лет назад

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

    • @korumstar9989
      @korumstar9989 6 лет назад +4

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

  • @El-ns1vl
    @El-ns1vl 6 лет назад

    Браво!

  • @skatskau1102
    @skatskau1102 6 лет назад

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

    • @Lexoid65
      @Lexoid65 6 лет назад

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

  • @DDDD_D-u9xy
    @DDDD_D-u9xy Год назад

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

  • @rexpider
    @rexpider 3 года назад +1

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

    • @АртемК-в2н
      @АртемК-в2н 3 года назад

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

  • @maykmazovsky2086
    @maykmazovsky2086 2 года назад

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

  • @Mariam_PinkLotus
    @Mariam_PinkLotus 4 года назад

    super. thank you!

  • @gagogoga794
    @gagogoga794 4 года назад

    Бог!

  • @natmazhara6221
    @natmazhara6221 6 лет назад

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

  • @sLasHee85
    @sLasHee85 5 лет назад +1

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

  • @sergio_bordo
    @sergio_bordo 4 года назад +1

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

    • @adelutyashev1857
      @adelutyashev1857 4 года назад +1

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

  • @ВладиславИванов-в6ш
    @ВладиславИванов-в6ш 4 года назад +4

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

  • @PhilipPreobrazhensky
    @PhilipPreobrazhensky Год назад

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

    • @propilen3
      @propilen3 Год назад

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

  • @ВячеславХарламов-е9р

    Спасибо!

  • @Rizomus
    @Rizomus Год назад +1

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

  • @ЕкатеринаГорбенко-ц8ш
    @ЕкатеринаГорбенко-ц8ш 9 месяцев назад

    А у меня почему-то такая ошибка вышла: 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).

  • @DmitryTyukilin
    @DmitryTyukilin 9 месяцев назад

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

  • @СашаБуряковский
    @СашаБуряковский 5 лет назад +1

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

  • @АртурКамалдинов-я4ш

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

  • @skotch_izolentovich
    @skotch_izolentovich 7 лет назад

    Спасибо

  • @devprototype
    @devprototype 8 лет назад +2

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

    • @alishevN
      @alishevN  8 лет назад +11

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

    • @devprototype
      @devprototype 8 лет назад +1

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

    • @alishevN
      @alishevN  8 лет назад +1

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

  • @Дмитрий-ю7ч6б
    @Дмитрий-ю7ч6б 8 лет назад

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

  • @friendly__neighbor
    @friendly__neighbor 6 лет назад +1

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

    • @Lexoid65
      @Lexoid65 6 лет назад +3

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

  • @evpatorya
    @evpatorya 2 года назад

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

  • @deniskovalev9743
    @deniskovalev9743 9 лет назад

    спасибо!

  • @Публичныйканал-с3м
    @Публичныйканал-с3м 3 года назад

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

  • @samirverdi
    @samirverdi 8 лет назад

    Как запустить подобное в коммандной строке? Почему возникают ошибки?
    ----------------------------------------------------------
    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 7 лет назад

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

  • @koornik6393
    @koornik6393 4 года назад

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

  • @MrDnovik
    @MrDnovik 4 года назад

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

    • @alishevN
      @alishevN  4 года назад

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

  • @ringoway
    @ringoway 2 года назад

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

  • @Barracuda438
    @Barracuda438 2 года назад

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

  • @ИванИванов-й6ф1х
    @ИванИванов-й6ф1х 5 лет назад

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

  • @maxprokopenko8307
    @maxprokopenko8307 7 лет назад

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

    • @Lexoid65
      @Lexoid65 6 лет назад +2

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

  • @andyandy7611
    @andyandy7611 5 лет назад +2

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

  • @GekaTeng
    @GekaTeng 7 лет назад

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

  • @maksinspire
    @maksinspire 7 лет назад

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

    • @Lexoid65
      @Lexoid65 7 лет назад

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

  • @Евгений-ч9к2ф
    @Евгений-ч9к2ф 7 лет назад

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

    • @Lexoid65
      @Lexoid65 7 лет назад

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

  • @pavelskrebkoff159
    @pavelskrebkoff159 5 лет назад

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

    • @sabatr1989
      @sabatr1989 5 лет назад

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

    • @amazingbrain1814
      @amazingbrain1814 2 месяца назад

      Мне помогла, спасибо!

  • @ВячеславХрамов-п7з
    @ВячеславХрамов-п7з 4 года назад

    Human human1 = new Human();
    Human[ ] peoples;
    peoples = new Human[2];
    peoples[0] = new Human();
    peoples[0].setAge(56);
    peoples[0].setName("Fy");
    peoples[0]. getInfo();
    можно так)

  • @konstantin4786
    @konstantin4786 7 лет назад

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