Уроки для начинающих Java / #9 Классы в Java

แชร์
ฝัง
  • เผยแพร่เมื่อ 24 ต.ค. 2020
  • В это уроке говорим о классах. Разбираем что это такое, как с ними работать. Говорим про конструктор класса.
    #java #урокиjava #javaдляначинающих
    Java является объектно-ориентированным языком программирования. Как язык, который имеет функцию объектно-ориентирования, он поддерживает следующие основные понятия:
    полиморфизм;
    наследование;
    инкапсуляция;
    абстракция;
    классы;
    объекты;
    экземпляр;
    метод;
    парсинг.
    В этом уроке мы рассмотрим объекты и классы в Java, их концепции.
    Класс может быть определен как шаблон (обозначен зеленым цветом), который описывает поведение объекта, который в свою очередь имеет состояние и поведение. Он является экземпляром класса. Например: собака может иметь состояние - цвет, имя, а также и поведение - кивать, лаять, есть.
    Класс может содержать любой из следующих видов переменных:
    Локальные переменные, определенные внутри методов, конструкторов или блоков. Они будут объявлены и инициализированы в методе, и будут уничтожены, когда метод завершится.
    Переменные экземпляра являются переменными в пределах класса, но и снаружи любого метода. Они инициализируются при загрузке. Переменные экземпляра могут быть доступны из внутри любого метода, конструктора или блоков этого конкретного класса.
    Переменные класса или статические переменные класса в Java объявляются в классе вне любого метода с помощью статического ключевого слова.
    В Java классы могут иметь любое количество методов для доступа к значению различных видов методов. В приведенном выше примере, barking(), hungry() и sleeping() являются методами.
    При обсуждении вопроса класса, одной из наиболее важных подтем в Java является конструктор. Каждый класс имеет конструктор. Если мы не напишем его или, например, забудем, компилятор создаст его по умолчанию для этого класса.
    Каждый раз, когда в Java создается новый объект, будет вызываться по меньшей мере один конструктор. Главное правило является то, что они должны иметь то же имя, что и класс, который может иметь более одного конструктора.
    Варианты как создать объект в классе следующие:
    Объявление: объявление переменной с именем переменной с типом объекта.
    Инстанцирование: используется «новое» ключевое слово.
    Инициализация: «новое» ключевое слово сопровождается вызовом конструктора. Этот вызов инициализирует новый объект.

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

  • @user-pk9uf1vd3p
    @user-pk9uf1vd3p ปีที่แล้ว +3

    Лёша,спасибо вам огромное !!! Учусь 9 месяцев , но вот никак многих вещей не понимала, вы просто не оставляете после себя никаких вопросов !!! Респект !!!

  • @olegm.4264
    @olegm.4264 2 ปีที่แล้ว +24

    а вот на этом уроке мозг немного встал раком...
    но объясняешь хорошо, спасибо!

  • @goldgold693
    @goldgold693 5 หลายเดือนก่อน

    Спасибо 🎉за урок, пожалуй для меня, самое подробное и понятное, из большой кучи просмотренных

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

    Спасибо за урок, но что-то подача сложнее стала....Хотя до этого урока всё было понятно.

  • @user-gu4zr7gk1e
    @user-gu4zr7gk1e 3 ปีที่แล้ว +17

    Второй раз в жизни (если не ошибаюсь) оставляю комментарий, при том что опять-таки под твоим видео. Спасибо за отличные лекции. Уже довольно долго (месяцев 8) занимаюсь изучением Java по разными источникам. Ответственно заявляю, что что у тебя наверное лучшая подача материала. В планах пересмотреть и перелайкать все твои видео 💪👍

    • @user-eh8hb1us7p
      @user-eh8hb1us7p 2 ปีที่แล้ว +1

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

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

      Согласна. Леша Маршал - находка. Подача материала 👍 Я иногда засыпаю под его видосы, такой голос приятный и успокоительный))

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

    Спасибо! Наконец-то я начал понимать классы!

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

    Леша, ты лучший!

  • @yu-hp9ii
    @yu-hp9ii 2 ปีที่แล้ว

    Обожаю ваши уроки!!!

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

    хорошая подача, инфа наконец улеглась в голову

  • @user-di5fy9gu6x
    @user-di5fy9gu6x 3 ปีที่แล้ว

    Спасибо, навёл порядок в голове

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

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

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

    Огромное тебе благодарность, объясняешь и показываешь хорошо😁

  • @user-kg7bl9lo2f
    @user-kg7bl9lo2f 2 ปีที่แล้ว +2

    Было бы очень хорошо, если бы давал задание после урока. Что б закрепилось.

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

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

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

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

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

    Спасибо тебе, теперь понял что такое классы и объекты

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

    Очень понравилась подача материала, однозначно лойс и спасибо за Ваш труд. :)

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

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

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

    12:45 Добрый день! не совсем понял, почему все-таки, если мы обозначили, что deal = apple, то почему результат берется именно 1500, а не 1000.
    Пока писал комментарий, сам нашел ответ)) Всё дело в расположении строк, если "apple memory = 1500" поставить выше, чем 1000, то показывать будет 1000. Может пригодится кому))

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

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

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

      всё верно, в программировании без практики никак

  • @user-om6ie1sb6s
    @user-om6ie1sb6s 2 ปีที่แล้ว +4

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

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

    8 уроков были усвоены вполне. Но 9й мне как новичку совсем не зашёл. То ли я тупой, то ли автор для новичка слишком мудрёно объясняет

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

      мне зашло, даже сам добавил переменные к defName и вывел их на экран! там все просто, нужно просто вникнуть несколько раз пересмотреть

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

    Чёткий урок

  • @user-fp6ly8bx6l
    @user-fp6ly8bx6l 3 ปีที่แล้ว +5

    По прошествии 3 недель повторял за автором уже не бездумно, а с пониманием и без ошибок.

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

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

    • @user-fp6ly8bx6l
      @user-fp6ly8bx6l 2 ปีที่แล้ว

      @@Mr2poluks Я имел ввиду, что на момент написания комментария начал понимать, что происходит в видео.

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

    21:25
    в этот момент Толик катается по столу в приступах эпилепсии

  • @user-om6ie1sb6s
    @user-om6ie1sb6s 2 ปีที่แล้ว

    Вопрос, у меня в первой строчке всегда package Java; написано.
    И после компиляции программы тоже очень много текста, пути к файлам, по сравнению с тема что у Алексея
    "C:\Program Files\Java\jdk-17.0.1\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2021.3.1\lib\idea_rt.jar=58388:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2021.3.1\bin" -Dfile.encoding=UTF-8 -classpath C:\Users\1\IdeaProjects\untitled\out\production\untitled Java.Start9
    Process finished with exit code 0

  • @Losyash_pod_stolom
    @Losyash_pod_stolom 9 หลายเดือนก่อน

    Урок мне может пригодится когда нибудь потом, потому что в Visual studio классы не работают)))

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

    Очень хорошие уроки и тембр голоса сладок ) единственное размер шрифта мелковат, остальное супер

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

    Все мозги разбил на части, все извилины заплел🙃

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

    я запутался

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

    Красава, вот решил поизучать по твоим урокам. Смотрю на скорости 1.5, в девяностых изучал ассемблер, в 2000 в универе Паскаль. Препод тогда сказал что я разбираюсь в кодировании лучше чем он, чем напрочь отбил желание учится ))

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

      Последняя Оценка в зачетке Отл по информатике

    • @user-gc3he7ol4m
      @user-gc3he7ol4m 2 ปีที่แล้ว

      @@russia_winner держи в курсе

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

      @@user-gc3he7ol4m без проблем, че как дел?

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

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

  • @user-fp6ly8bx6l
    @user-fp6ly8bx6l 3 ปีที่แล้ว +1

    2 раза возвращался к видео. Ошибки выдает, но их искать - не хватает концентрации в этот же подход.

  • @user-xo9ux5dv4f
    @user-xo9ux5dv4f ปีที่แล้ว

    можно ли сказать что computer это процедура, а isCpu() это пользовательская функция? по крайней мере в других языках программирования это похоже по смысл

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

    На 13:00 минуте memory для apple в начале равна 1000, а потом для deal присвоили 1500. Непонятно, почему memory 1000 не показывается. Кто-нибудь объясните, пожалуйста

  • @user-qg6fw4qr2q
    @user-qg6fw4qr2q 2 ปีที่แล้ว +3

    на секунду отвлечешься ответить на сообщение и уже ничего не понятно😀

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

    этому уроку сегодня ровно год, поздравим чтоли)

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

    22:10 подчеркивает ошибки , если выписывать в конструкторе новые значения.

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

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

    • @mirskiy
      @mirskiy 10 หลายเดือนก่อน

      Такая же фигня

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

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

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

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

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

    Здравствуйте, я ничего не понимаю вообще. Это нормально? Подскажите как начать понимать, может почитать, или вот так постепенно понимание придёт?

    • @user-gc4nx8tm2u
      @user-gc4nx8tm2u ปีที่แล้ว

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

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

    Ещё вопрос: зачем мы прячем данные при написании программы? И куда они делись ( эти данные) когда Вы стали создавать новые запросы и присвоили memory ещё одно значение (100)?! В чём логика всех этих действий?

  • @user-om6ie1sb6s
    @user-om6ie1sb6s 2 ปีที่แล้ว

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

  • @user-vy3yl9by8e
    @user-vy3yl9by8e ปีที่แล้ว

    скажи пожалуйста а что делать если папки Java нету???

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

    8 уроков всё понятно, а в 9 всё сломалось, ничего не понял

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

      Ты не один такой

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

      Смотри параллельно уроки других ребят по этой же теме

  • @user-gc4nx8tm2u
    @user-gc4nx8tm2u ปีที่แล้ว

    на 22:10 не дает уже вбивать параметры в строку Computer apple = new Computer(defMemory --- пишет тут ошибки и все... вроде нигде не косячил, не пойму.

    • @user-gc4nx8tm2u
      @user-gc4nx8tm2u ปีที่แล้ว

      но на конструкции 24:00 идет четко без ошибок.

  • @user-sx8yb7hy1b
    @user-sx8yb7hy1b ปีที่แล้ว

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

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

    Перепуталось много чего. Сначала создаём, потом убираем, затем заново создаём, а предыдущее оказывается было не совсем корректно.. и т.д. По итогу в одном ролике и классы, и поля классов, и методы классов, и конструктор, и вложения классов..и экземпляры. Если бы это видео разделить на 3 самостоятельных и более кратких, то всё бы вписалось более логично. Придётся пересматривать!

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

    Ну вот, приплыли! До этого всё было более-менее понятно, а теперь всё, конец. Лёша, ты пишешь, потом вдруг: "Это не правильно, так нельзя! Давайте сделаем правильно." 😵😵😵 А потом вообще чехарда и ничего не понятно! Никаких объяснений, зачем мы это делаем! Мы же новички, нам нужно всё подробно разжевывать, что, как и для чего! 🙏🙏🙏😂

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

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

    • @user-gc4nx8tm2u
      @user-gc4nx8tm2u ปีที่แล้ว +1

      нарисовать сову, рисуем круг...урок 9 рисуем перья, очертания, хвост, вы - великолепны!

  • @user-kr3xb1mv1d
    @user-kr3xb1mv1d ปีที่แล้ว

    Урок супер, но иногда все же приходилось покопать и попотеть чтоб разобраться!... особенно при написании значений (defMemory: 1500, defCpu: 1000 ) так как оказалось эти "надписи" пишутся автоматически при указании количественного (численного) значения... - опять же - новичку это неизвестно и непонятно, что влечет некоторые проблемы при изучении....
    PS сидел 10 минут писал эти значения и думал почему ошибка...?

    • @user-yk2gw7pv3n
      @user-yk2gw7pv3n ปีที่แล้ว

      Как это сделать, объясни пожалуйста

    • @user-kr3xb1mv1d
      @user-kr3xb1mv1d ปีที่แล้ว +1

      @@user-yk2gw7pv3n пишите в скобках только цифры, а название переменной потом само напишется

    • @user-yk2gw7pv3n
      @user-yk2gw7pv3n ปีที่แล้ว

      @@user-kr3xb1mv1d спасибо большое, выручил😀

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

    на этом уроке IDE ничего не понимала. И в любом удобном случае выдавала ошибку.

  • @user-ib2ic5gk8k
    @user-ib2ic5gk8k 3 ปีที่แล้ว

    А то что я 0 совершенно в программировании и начал смотреть эти курсы и вообще почти не чего, не понимаю, это нормально, или стоит обраться к самым истокам этих тем?

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

      Стоит, начни с документации

    • @user-od9sm2pl9f
      @user-od9sm2pl9f 3 ปีที่แล้ว +1

      Это нормально

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

      вроде бы я изучал много языков но не до конца так вот я не чаиник и тоже ниего не понимаю потому что джава это сложный язык и по этому это нормально. он же говорил что програмирование в начале ничего не понимкаеш а потом после 10-15 уроков батс... и всё понял типо так

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

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

    • @user-wp9qt1yi1k
      @user-wp9qt1yi1k ปีที่แล้ว

      Могу помочь

  • @FrankMatrix
    @FrankMatrix 9 หลายเดือนก่อน +1

    инкапсуляция это же не сокрытие

  • @user-xo9ux5dv4f
    @user-xo9ux5dv4f ปีที่แล้ว

    жалко что нет реального примера : как конструктор применяется на практике??

  • @user-kr3xb1mv1d
    @user-kr3xb1mv1d ปีที่แล้ว +1

    Хочу поблагодарить Вас и немного пожурить.... на 5:27 минуте вы что-то нажали справа на экране и ошибка (подчеркивание красной волнистой) с названия "Macbook10" пропала, вам то понятно это... а вот мне ( новичку) не понятно и продолжить занятие из-за этой ошибки я не смог... (((
    Покопавшись некоторое время я увидел что этим "щелчком" вы изменили одинарные кавычки на двойные.... жаль что это не стали объяснять - сэкономили бы время людям ( новичкам)

  • @BIG_BILLY.
    @BIG_BILLY. ปีที่แล้ว

    Не совсем понимаю зачем мы в классе Computer прячем memory cpu и название если они у нас пустые и не несут в себе никаких значений ? и потом писать открытые методы чтобы скрытым полям мемори спу и названию присваивать значения в чем смысл этого всего ? нельзя сделать более логично и проще также 3 переменные инт также CPU MEMORY название и дать им значение и после скрыть их командой приват ? ну типо этого
    private int memory = 1500;
    private int CPU = 2500;
    private int name = "Macbook"
    и после уже обращаться к этому через void get или я не правильно понимаю как это все может работать ? просто не вижу смысла вообще прятать командой private пустые "параметры" и после долбиться туда зачем-то методами и присваивать туда значение логика тут не ясна, можно пояснение какое-то, тяжело мне понять что в этому уроке происходит?

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

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

  • @user-ip6fd2uy4t
    @user-ip6fd2uy4t 3 ปีที่แล้ว +1

    На 1,75 скорости вполне себе годно

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

      когда разбираешься уже либо смотришь раз эдак 8-й

  • @VR_-gy7nw
    @VR_-gy7nw ปีที่แล้ว +1

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

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

    Мозг поломал окончательно... 😬

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

    Блин я почему то ничего не понимаю

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

    "ну а вообще тут надо использовать не is а get".......занавес, ушел курить

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

    М-да, 8 уроков непринужденного легко понимаемого материала с похвалами лектору, на девятом уроке все понеслось - не поясняя зависимость методов и классов, пошел сумбур из изменений в текстах😂. У слушателей полезли глаза на лоб. Лучше взять курс Alishev , Java для начинающих , там все понятно, будто пьешь воду маленькими приятными глотками

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

    не видно!!!! Зачем вся пустота, если задействовано только левый верхний угол. Дизлайк короче

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

      и тебе

    • @user-pk9uf1vd3p
      @user-pk9uf1vd3p ปีที่แล้ว

      Вы из той категории людей которым : ахар не сладкий , соль не соленная ! Человек крайне доходчиво все разжевал и врот положил , а вым еще и проглотить за вас !!! какая разница в каком углу.