Java для начинающих. Урок 24: Класс Object и метод toString()

  Рет қаралды 133,297

alishev

alishev

8 жыл бұрын

МОЙ НОВЫЙ КУРС: • Мой курс "Продвинутая ...
ПРАКТИКА НА JAVA: java-marathon.tilda.ws
Реклама и сотрудничество: alishev.neil@gmail.com

Пікірлер: 117
@alishevN
@alishevN 6 жыл бұрын
Регистрируйтесь на курс "Продвинутая Java": kzfaq.info/get/bejne/qLiVZNmFlbmodGw.html Практикуйтесь в написании Java кода: java-marathon.tilda.ws
@JogaB0NIT0
@JogaB0NIT0 4 жыл бұрын
Дружище, спасибо тебе большое за то, что ты делаешь! От тебя эта информация усваивается легче, чем от всех остальных. Ёмко, кратко и понятно!
@user-ge2uo6ge1m
@user-ge2uo6ge1m 5 жыл бұрын
Так называемые ошибки, которые допустил автор, перепутав пару раз метод и объект, не введут человека в заблуждение если тот, в свою очередь, изучил и понял предыдущие уроки.
@nezhinHizZ
@nezhinHizZ 5 жыл бұрын
Отличный урок. 6 дизлайков, я так подозреваю, поставили те, то вообще ничего не понял. Не отчаивайтесь, всё придёт со временем, если не забросите програмирование. Просто повторите урок рано или поздно со String придётся иметь дело. Вернётесь и всё будет понятно! Автору респект!
@jacktorrance8144
@jacktorrance8144 8 жыл бұрын
Отличные уроки! Большое спасибо! Не бросай это дело.
@alishevN
@alishevN 8 жыл бұрын
+Евгений Торбеев спасибо!
@jacktorrance8144
@jacktorrance8144 8 жыл бұрын
+javaRussia хотелось бы узнать, проводишь ли ты частные занятия или какие нибудь практические проекты на Java?
@jacktorrance8144
@jacktorrance8144 8 жыл бұрын
+javaRussia хотелось бы узнать, проводишь ли ты частные занятия или какие нибудь практические проекты на Java?
@alishevN
@alishevN 8 жыл бұрын
Частные занятия не провожу, я не преподаватель. А на java я пишу довольно много.
@1979Vodoley
@1979Vodoley 8 жыл бұрын
Скажи пожалуйста в уроках трёх годичной давности у некоторых с начало идут написания методов, а внизу уже исполнительный код, а в теперешних записях с начало исполнительный код, а потом методы?! Это без разницы или просто решили теперь так писать?
@user-yk2iy7lh8o
@user-yk2iy7lh8o 6 жыл бұрын
Чувак люто плюсую! За 10 минут мне помог понять то что я очень долго не мог вкурить)
@Judosaper
@Judosaper 4 жыл бұрын
Ты лютый программист!)
@dahtes2107
@dahtes2107 5 жыл бұрын
Спасибо дядька, освежил себе память по object) Дальше все интереснее и интереснее
@user-ty1iw8wv4y
@user-ty1iw8wv4y Жыл бұрын
Хочу выразить благодарность за вашу работу. Хожу на курсы для начинающих по Java,но там не могут объяснить ,как это делаете Вы. Я на ваших 10-15 минутных видео больше понимаю,чем на 2-часовых уроках.
@niklaus9
@niklaus9 4 ай бұрын
Здравствуйте , есть результаты по обучению? интересно))
@schbkb8868
@schbkb8868 4 жыл бұрын
сколько смотрю твои видосы уже, всегда понятно, кратко. Спасибо!
@quicktime1205
@quicktime1205 Жыл бұрын
Отличные доходчивые уроки. Хотя первые минуты про Object и родительский класс было непонятно, но все встало на свои места после просмотра Урока №25. Даже подумалось, что 25-ый урок мог бы быть 24, а 24 - 25ым)
@user-hr1xf3mv9o
@user-hr1xf3mv9o Жыл бұрын
Я безумно благодарна за эти уроки🥹❤️ все настолько понятно и доступно, столько уточнений, чтоб я делала в универе без вас, не знаю 😂 там все вообще непонятно объясняют, еще раз огромное вам спасибо за такой труд🥰
@tobesunset820
@tobesunset820 Жыл бұрын
можно с вами связаться как нибудь?
@vitaliyk.6371
@vitaliyk.6371 6 жыл бұрын
Прекрасная подача довольно таки головоломкого материала,но прослушал несколько раз и все стало ясно.Спасибо за качественное обучение.
@bonefire2725
@bonefire2725 4 жыл бұрын
Лучше наверно было сказать что попытка вывести объект на экран изначально выводит ссылку на объект, которая в свою очередь состоит из названия класса, "@" и уникального имени ссылки. А уникальное имя ссылки в свою очередь представляет собой хэш-код (неповторяющееся в классе численное значение).
@Dermidont333
@Dermidont333 3 ай бұрын
Очень доходчиво и понятно. Спасибо.
@ArtemNiknameName
@ArtemNiknameName 5 жыл бұрын
"Все объекты являются объектами" - гениально. Спасибо. :)
@mohawberel
@mohawberel 4 жыл бұрын
В этом мире нет ничего кроме обьектов
@user-sq5cr5uq8i
@user-sq5cr5uq8i 3 жыл бұрын
Скорее всего, автор имел ввиду, что все объекты являются объектами класса Object
@user-zr2uk6pv5m
@user-zr2uk6pv5m 8 жыл бұрын
Спасибо тебе за такие хорошие уроки)) Ты очень доступно объясняешь, так что продолжай в том же духе)))
@alishevN
@alishevN 8 жыл бұрын
+Vladimir Tkach Пожалуйста)
@alisaholainen6334
@alisaholainen6334 4 жыл бұрын
Очень классный урок, спасибо!
@korumstar9989
@korumstar9989 5 жыл бұрын
Спасибо за работу!
@YurijRudakevych
@YurijRudakevych 6 жыл бұрын
Очень интерестно! Спасибо большое.
@igortarasov4482
@igortarasov4482 4 жыл бұрын
Огромное спасибо. Очень доступно.
@user-qi8df6gk6x
@user-qi8df6gk6x 5 жыл бұрын
Спасибо, это было очень полезно и доступно. А то, что иногда перепутаны понятия не такая уж проблема, т.к. это вполне свойственно для человека.
@user-pu8yy8fu9q
@user-pu8yy8fu9q 8 жыл бұрын
Спасибо за урок!
@Devivl
@Devivl Жыл бұрын
Очень интересно. Спасибо!
@vasiliyditiatkin6848
@vasiliyditiatkin6848 5 жыл бұрын
Йоу, спасибо, всё доходчиво, красавчик, спасибки спасибки!
@Andrzej3935
@Andrzej3935 3 жыл бұрын
Спасибо, вы лучший.
@dmtconst3633
@dmtconst3633 Жыл бұрын
Спасибо, мне помогло решить задачу :)
@user-je7yq9vt6d
@user-je7yq9vt6d 5 жыл бұрын
Возможно этот урок стоило поместить после урока о наследовании, картинка бы лучше сложилась) имхо) Спасибо за твой работу)
@gadjik_youtube
@gadjik_youtube Жыл бұрын
спасибо ! понятно и полезно
@crashoverride9681
@crashoverride9681 6 жыл бұрын
Непонятный цифры и буквы после собачки и названия класса - это адрес ячейки памяти в стеке где хранится ссылка на экземпляр класса
@lexelkovich35
@lexelkovich35 Жыл бұрын
Немного поправлю: "Сигнатура метода - это имя метода плюс параметры (причем порядок параметров имеет значение). В сигнатуру метода не входит возвращаемое значение, а также бросаемые им исключения"
@TheShamaus
@TheShamaus 4 жыл бұрын
Спасибо!
@simplechannel7859
@simplechannel7859 6 жыл бұрын
Спасибо
@Anatoli-bq1pe
@Anatoli-bq1pe 2 жыл бұрын
Благодарю
@jamjam3337
@jamjam3337 5 күн бұрын
спасибо!
@igorgogy9119
@igorgogy9119 3 жыл бұрын
не смотря на оговорки объект-метод (даже моего не джуновского пока уровня хватает чтобы их онлайн понимать и исправлять в голове), объясняешь ты классно!
@DolphinArtem
@DolphinArtem 2 жыл бұрын
Привет, скажи, пожалуйста, мы ведь в методе String, который переопределил метод родителя, должны вернуть return’ ом строку, а автор в него положил еще и переменную age типа int. Так можно делать?
@SAHEYJ
@SAHEYJ 2 жыл бұрын
@@DolphinArtem как видишь да
@user-ot7em9bp7f
@user-ot7em9bp7f 2 жыл бұрын
​@@DolphinArtem тут возвращается одно значение (строковое), а не int и String. в данном случае автор вернул строку, состоящую из name и age. name+" "+int - это одно строковое значение (имя пробел возраст). return в целом не может возвращать несколько переменных
@yauhenizakhno8510
@yauhenizakhno8510 6 жыл бұрын
6:50 Сигнатура - это только имя метода и аргументы. И всё. public String в сигнатуру не входят
@user-jj6il8my6z
@user-jj6il8my6z 3 жыл бұрын
Попробовал вывести int age, но не дает как преобразуется строка. Напрмер int age, String name можно. Решил добавить по такой логике ""+age, теперь у нас преобразуется один конструктор с параметрами int age. Кстати урок уже второй раз смотрю, закрепляю знания) Еще забыл добавить если мы создадим конструктор с параметра String name, int age. А второй конструктор String address, int street. Будет ошибка) нельзя создавать конструктор с одинаковыми примитивнами типами ил классами. А наоборот уже можно) Stirng name, int age ----> int street, String address) Кажется базовые ошибки, но все равно бывает допускаешь))
@bari9631
@bari9631 5 жыл бұрын
супер
@user-cc8lu2vo4c
@user-cc8lu2vo4c Жыл бұрын
👍👍👍
@wivernx9449
@wivernx9449 4 жыл бұрын
почему не используете аннотацию @Override при переопределени метода toString в классе Human?
@user-wh8ye3id7s
@user-wh8ye3id7s 3 жыл бұрын
По поводу практики к этому курсу, на моем компе, разница в скорости работы кода получилась почти в (22 мс против 241 мс в пользу StringBuilder'a), это верный результат?
@user-kp2dv4iz4f
@user-kp2dv4iz4f 4 жыл бұрын
Подскажите пожалуйста, где можно закрепить пройденные уроки практикой?
@user-dt7zc8gd8z
@user-dt7zc8gd8z 3 жыл бұрын
Добрый день. Я еще только учусь. но вот переопределение метода toString не работает в JDK 16, или я что-то не так понимаю. Но переписав код ровно так же как в уроке, у меня в консоль выводится хешккод
@nadirnazirov4707
@nadirnazirov4707 Жыл бұрын
Кстати я вставил extends Object для наглядности и всё работает как прежде: class Human extends Object{
@user-bw7ov8ip5w
@user-bw7ov8ip5w 5 жыл бұрын
Как в IntelliJ IDEA посмотреть класс Object? Какие клавиши надо нажимать?
@user-bw2me9bm8d
@user-bw2me9bm8d 5 жыл бұрын
Зажать и удерживать клавишу Ctrl, подвести курсор мыши к слову "Объект" и кликнуть по этому слову. Отпустить клавишу Ctrl.
@nurkhabib8954
@nurkhabib8954 2 жыл бұрын
Перед переопределением метода toString не нужно было прописывать аннотацию override? Не умничаю, просто частично зацепил эту тему, стало интересно, правильно ли я понял её.
@alexandrkomar4741
@alexandrkomar4741 3 жыл бұрын
вопрос следующий: как так получается, что в методе toString мы указываем тип возвращаемой переменной String, а смогли вернуть и String и int? return name+"."+age;
@notinvented7739
@notinvented7739 2 жыл бұрын
Java при конкатенации (сложении) автоматически конвертировала значение age в строку. То есть, из некоторого числа (например, 10), мы получили строку ("10").
@artempalamarchuk9440
@artempalamarchuk9440 7 жыл бұрын
Когда мы выводим обьект System.out.println(h1),- отображает не хеш код, а адрес памяти в котором находится объект. А хэш код и выводится своим методом System.out.println(h1.hashCode);
@alishevN
@alishevN 7 жыл бұрын
docs.oracle.com/javase/7/docs/api/java/lang/Object.html#toString()
@artempalamarchuk9440
@artempalamarchuk9440 7 жыл бұрын
Да точно, хеш код просто в другом представлении, меня ввели в заблуждение. А возможно ли каким-то способом посмотреть адресс памяти?
@revert1551
@revert1551 8 жыл бұрын
ты нас оканчательно запутал!!!
@Daniel-mo1iy
@Daniel-mo1iy 2 жыл бұрын
hashCode можно увидеть с помощью метода hashCode(), а не просто выводя переменную на экран
@Jeugenelight
@Jeugenelight 6 жыл бұрын
У меня вопрос возник. Если мы создаем конструктор в который передаем аргументы например Имя и Возраст (String name, int age). Зачем тогда нужны сеттеры? Если в конструкторе и так присваиваются значения полям? Можно конечно в коде конструктора написать setName(name),но есть ли в этом смысл? Если просто можно все сделать через конструктор. P.S.Спасибо за видео.
@alexanderwicked8990
@alexanderwicked8990 6 жыл бұрын
Аргументы конструктора нужны в том случае, когда мы хотим инициализировать поля name и age при создании объекта. А сеттеры нужны в том случае, если мы хотим поменять их в дальнейшем, по ходу программы, и поля name и age при этом private. Представь себе создание персонажа рпг игры, где с самого начала у него должно быть имя и класс (например воин). Он обязательно должен иметь и то и другое, иначе он никто. Для этого аргументы конструктора. Но по ходу игры, персонаж вдруг решил сменить имя и перепрофилироваться, скажем в мага. Вот за этим и нужен сеттер.
@vsevolodshelaiev2866
@vsevolodshelaiev2866 5 жыл бұрын
@@alexanderwicked8990 Спасибо большое,до этого тоже не понимал
@user-bq6tx8zr4z
@user-bq6tx8zr4z 2 жыл бұрын
На всякий случай добавлю, если кому то нужно. Важно не забывать, что в сеттерах мы можем сделать проверку (напр. возраст не меньше нуля или не пустое поле имени). И если мы сделаем конструктор, где есть прямой доступ к полям (возраст и имя) то пользователь может писать всё что угодно, это нарушение инкапсуляции. Поэтому желательно в коде конструктора, использовать сеттеры, в которые передаются параметры конструктора. private int age; private String name; //Поле приватное, доступ только через сеттер, прямой доступ (this.name - age) только в родном классе. public Human(int age, String name){ setAge(age); setName(name); } //Конструктор, в котором сеттеры, соответственно есть проверки. public void setAge(int age) { if (age > 0) { this.age = age; } } //Сеттер с проверкой.
@cardanonn6893
@cardanonn6893 7 жыл бұрын
а почему в методе toString для возврата не использовали переменные this.name и this.age ?
@Lexoid65
@Lexoid65 7 жыл бұрын
В смысле? Автор ссылался как раз таки на эти переменные, правда без использования ключевого слова this, которое в данном случае не нужно. Когда мы обычно используем ключевое слово this? Мы используем его тогда, когда при описании метода аргументы, которые метод будет принимать на вход, совпадают с названиями полей, к примеру, в сеттерах. Это нужно для того, чтобы мы внутри метода не присваивали значения, которые поступили в аргументы, локальным переменным. Да и вообще, если уж на то пошло, то ключевое слово this используется в контексте сеттеров, а у нас получился get-метод, который возвращает на место вызова метода значения полей name и age для каждого конкретного объекта на котором этот метод вызывается.
@cardanonn6893
@cardanonn6893 7 жыл бұрын
Да я понял, спасибо за ответ.
@Lexoid65
@Lexoid65 7 жыл бұрын
Пожалуйста!)
@rawrgeek1150
@rawrgeek1150 7 жыл бұрын
Exception in thread "main" java.lang.NoSuchMethodError: Human.(Ljava/lang/String;I)V at lesson4.main(lesson4.java:5) Ошибка все написал как у тебя
@korumstar9989
@korumstar9989 5 жыл бұрын
Ваш код, будьте добры.
@gazizbakyt7190
@gazizbakyt7190 2 жыл бұрын
@@korumstar9989 спросил бы еще 2 года спустя))
@beavissooqa7585
@beavissooqa7585 7 жыл бұрын
Все классно, везде молодец, кроме того момента где сказал что функция возвращает хэш-код..
@alishevN
@alishevN 7 жыл бұрын
docs.oracle.com/javase/7/docs/api/java/lang/Object.html#toString()
@DolphinArtem
@DolphinArtem 2 жыл бұрын
Мы ведь в методе String,который переопределил метод родителя должны вернуть return’ ом строку, а автор в него положил еще и переменную age типа int. Так можно делать?
@SAHEYJ
@SAHEYJ 2 жыл бұрын
Как видишь да
@DolphinArtem
@DolphinArtem 2 жыл бұрын
@@SAHEYJ а почему, потому что это всё теперь строка?
@user-jm6qk6zj5l
@user-jm6qk6zj5l 2 жыл бұрын
@@DolphinArtem Да, это преобразование типов. Чтобы лучше поразбираться, можно посмотреть результат вывода, с первого взгляда покажется странным System.out.println(1 + 1 + ""); System.out.println("" + 1 + 1 );
@niklaus9
@niklaus9 4 ай бұрын
начал изучать Джаву, напишите мне через год, узнать результат)
@Wdx-xyz
@Wdx-xyz 2 ай бұрын
Щас ты как
@niklaus9
@niklaus9 2 ай бұрын
@@Wdx-xyz учу, год не прошел еще))
@tigrangegamian1509
@tigrangegamian1509 4 жыл бұрын
Есть вопрос, и он с последующи видео не стало яснее. В 03:06 ты сказал следующее: "Все классы, которые мы делаем, если мы создаем из них объекты, то все эти классы должны быть не только классы, которые мы декларируем, но они еще должны быть просто объектами" Ты мог бы ,пожалуйста, прояснить этот момент ? :)
@SAHEYJ
@SAHEYJ 2 жыл бұрын
Все классы которые ты делаешь это не только классы но ещё и объекты
@user-li8hl1vr1x
@user-li8hl1vr1x 7 жыл бұрын
Хороший урок, все понятно, но есть вопрос не много не по теме, вы тоже Intellij IDEA пользуетесь, как и я, так вот вопрос по среде, может кто знает? Проблема заключается в том, что у меня не компилируется пакет, если в любом другом пакете есть ошибка, то есть, я учу язык по книгам, там есть задание, я его начинаю делать, что-то например не получается и я решаю оставить его на потом, что бы доделать, и создаю другой покет с классами и main и делаю его правильно, и когда пытаюсь проверить что я написал, то у меня показывает, что там где-то есть покет, который не доделан и пока я его не исправлю, то новый проверить не получается, приходится комментировать, но это жутко не удобно, потому что потом сложно найти покет который надо доделать, например в Eclips такого не было, ну не могу я сделать, оставил делаю другое и все компилируется, а не доделанная программка просто в списке пакетов подчеркивается красным и я прекрасно вижу что он не доделан и его легко найти. Помогите пожалуйста.
@Chuluckan
@Chuluckan 7 жыл бұрын
Закомментируй весь код класса, который ошибку компиляции выдаёт
@user-li8hl1vr1x
@user-li8hl1vr1x 7 жыл бұрын
так и делаю, но это пипец как не удобно, про этот кривой класс можно ничайно забыть и в итоге долго искать, в эклипсе например такой проблемы нет, там ну не работает класс, оставил его - он подчеркивается красным(и видно что его надо исправить), но компиляции других отдельных классов и покетов не мешает, вот если бы так и в идее можно было, была бы вообще идеальная среда
@Chuluckan
@Chuluckan 7 жыл бұрын
Денис Коораблёв согласен
@user-em5rp2qs8w
@user-em5rp2qs8w 6 жыл бұрын
разве String string это обьект ? это переменная с типом String
@fixeer666
@fixeer666 6 жыл бұрын
ссылка
@georgekrovsh7326
@georgekrovsh7326 6 жыл бұрын
String - встроенный класс
@georgekrovsh7326
@georgekrovsh7326 6 жыл бұрын
Просто у него есть укороченная запись
@user-hi7kg3jd3o
@user-hi7kg3jd3o 6 жыл бұрын
все является объектом))
@armatdavletalin8542
@armatdavletalin8542 6 жыл бұрын
Пересмотрите свой урок. Первое, лучше называть Object (именно обжект), а объект объектом, тогда меньше путаницы. То есть все объекты являются Object. Второе, очень часто вы называете методы объектами, что еще больше запутывает. А в целом, уроки очень познавательны, полезны и подробно изложены.
@user-bn9wc8db6s
@user-bn9wc8db6s 2 жыл бұрын
Без какой либо наглядной схемы с первого, даже второго раза понять почти не реально....... Новичкам такое со слов не заходит...
@revert1551
@revert1551 8 жыл бұрын
расскажи про многопаточность
@sergeyvoloshin1553
@sergeyvoloshin1553 4 жыл бұрын
Патоки)
@ez2387
@ez2387 7 ай бұрын
ТЕМА НЕ РАСКРЫТА ОЧЕНЬ СМУТНО ОБЪЯСНИЛ , СТАВЛЮ ОЦЕНКУ 3-
@user-ye3dv9hd6j
@user-ye3dv9hd6j 5 жыл бұрын
смотрю уроки вроде бы понятно, но как до дела доходит полнейшая каша. очень сводят с ума вызов методов и передача параметров. ну а так при большом желании разобраться во всем можно.
@nailtagiyev6340
@nailtagiyev6340 4 жыл бұрын
Спасибо большое. Индусы нормально объяснять не могут :(
@sanya9740
@sanya9740 Жыл бұрын
Этот урок и правда не очень. Много путаницы и подмены понятий.
@RedasGamesCom
@RedasGamesCom 7 жыл бұрын
Ужас, путаешь методы и обьекты, переменные и обьекты, называешь то одним словом то другим, пересмотри своё видео, это тихий ужас, как начинающий должен это понять?Я то понимаю, но ты путаешь людей.
@C2H5OHH
@C2H5OHH 2 жыл бұрын
Спасибо!
Jumping off balcony pulls her tooth! 🫣🦷
01:00
Justin Flom
Рет қаралды 24 МЛН
Женская драка в Кызылорде
00:53
AIRAN
Рет қаралды 505 М.
Amazing weight loss transformation !! 😱😱
00:24
Tibo InShape
Рет қаралды 63 МЛН
Spot The Fake Animal For $10,000
00:40
MrBeast
Рет қаралды 185 МЛН
Java. Методы equals и hashCode.
15:05
Sergey Arkhipov Java Tutorials
Рет қаралды 38 М.
Зачем нужны указатели в C++?
8:14
Dima
Рет қаралды 10 М.
Java. Класс Object. Разбор вопросов на собеседование.
21:16
Sergey Arkhipov Java Tutorials
Рет қаралды 30 М.
Java для начинающих. Урок 23: StringBuilder
15:14
Array vs. ArrayList in Java Tutorial - What's The Difference?
17:36
Coding with John
Рет қаралды 509 М.
Что такое Java и как ее выучить?
19:55
Sergey Nemchinskiy
Рет қаралды 135 М.
Выпуск 22. hashCode() и equals() - самое главное.
21:16
Изучаем Java
Рет қаралды 28 М.
Jumping off balcony pulls her tooth! 🫣🦷
01:00
Justin Flom
Рет қаралды 24 МЛН