привет подскажи разве 1 метод не делает то что делают два других. но более компактнее 1) String name (String x) { name = x; return name; } ---------------------------------------- 2) void name1(String x) { name = x } 3) String name2() { return name }
Тип данных в параметрах метода, указывает на то, значение какого типа данных, метод может принять от объекта на хранение. Да, и еще важно понять, что поля - характеристики объекта, методы - средства работы с полями, а сам объект - immutable. ) В этом суть ООП. Прекрасный курс. Спасибо.
Прекрасное представление по всем темам.Разобрался сразу с теми вопросами,в котрых плавал(вызовы методов,void,return).Огромное спасибо,очень стоящий курс!
Почему я не знал этого канала 5 лет назад 👍 .... Спасибо большое, как ты объясняешь beckand с примером со стороны пользовательский ЭТО ВООБЩЕ БОМБА👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍
Все очень понятно и доступно. Спасибо за проделанную колоссальную работу по созданию обучающего курса) Я думаю, многим начинающим и не только разработчикам информация будет полезной
Подписался. Господи, после всяких "преподавателей" твои уроки это просто идеал преподавания! Вот так просто и своими словами объясняешь, я лишь повторяю в идее и все запоминается и понимается.
Первый раз понял что такое сеттеры и геттеры. До этого смотрел и читал разное, но на живых примерах - впервые изложено для понимания, а не для "так надо". СПАСИБО!
Стараюсь конспектировать все твои уроки чтоб быстрее понять и запомнить. Про геттеры и сеттеры на ютубе пересмотрел около 10 видосов разных. Я так и не понял что это и зачем нужны. Тут я даже ничего не записывал, ибо это оказалось настолько простой и понятной вещью
Очень круто обьяснил. В твоих уроках есть то чего нету в других. Обьянение того зачем это нужно и где этоприменяется. Сделай еще плиз курс пет проэкты. Что делать? Как делать? Зачем? Что на них ты должен научится? Что обычно делают в компаниях? Что пишут регулярно? А что не так часто? Что нужно знать чтобы понять как решить ту или иную проблему если ты работаешь как джава разработчик на андроид или на ентерпрайз. Будет реально полезно. И если будешь делать проэкты объясни почему именно он? Чем он нам поможет для работы и т.д. Спасибо тебе. Учить это твое. Продолжай в том же духе и монетизируй
крч, всем тем, кто уже пытался врубиться в джаву и не смог, но имеет сумбур знаний, вам на этот канал, очень хорошо мозги прочищает и расставляет всё по полочкам).
Спасибо за видео! Всё-таки, для меня, когда человек объясняет и показывает на примере лучше доходит. А то уже и в HeadFirst прочитал и в раше прошел, и так и не дошло)
Так, в общем мне немного подсказали и таки получилось написать так, чтобы прога запрашивала и имя и возраст до тех пор, пока не будет адекватного ответа. Спасибо автору еще раз. Очень доходчиво излагаете!!! Если кому интересно, то код ниже: ------------------------------------------------- import java.util.Scanner; public class Set_Get { public static void main(String[] args) { String name; int age; Scanner scan = new Scanner(System.in); Identification person = new Identification(); while(!person.getIsNameCorrect()){ System.out.println("Введите Ваше имя: "); name = scan.nextLine(); person.setName(name); } while(!person.getIsAgeCorrect()){ System.out.println("Введите Ваш возраст: "); age = scan.nextInt(); person.setAge(age); } System.out.println("Вас зовут - " + person.getName() + ". Ваш возраст - " + person.getAge() + " лет. Вы можете войти!!!"); } } class Identification{ private String userName; private int userAge; private boolean isNameCorrect = false; private boolean isAgeCorrect = false; public void setName(String n){ if (n.isEmpty()){ System.out.println("Вы ввели пустое имя!!! Введите имя еще раз!!!"); } else{ userName = n; isNameCorrect = true;} } public String getName(){ return userName; } public Boolean getIsNameCorrect(){ return isNameCorrect; } public void setAge(int a){ if (a
В данной теме, по факту, про инкапсуляцию ни слова не сказано) Кроме того что упоминается прайват. Инкапсуляция - сокрытие элементов путем изменения\добавления модифакторов доступа. Это более обширная тема, чем прописывание сеттеров и геттеров. В остальном, спасибо за видео)
я не могла понять раньше эти сет и гет потому что не понимала зачем по сто раз эти имена создавать. а теперь я понимаю что есть еще юзеры - поэтому мы должны быть в состоянии поменять внутри своей программы имена полей, НО что бы программа продолжала работать у других людей. что бы мои внутрение редакции не попортили работу программы у третьих лиц. .... если я верно поняла)
Автору как всегда респект!! А вопрос такой. Я тоже сделал вариант со сканнером, когда пользователь на запрос программы вводит имя и возраст. Так вот. Когда в методе сэттер идет проверка на пустое имя (так же как и на отрицательный возраст). Здесь, как-бы, нужно зациклить, пока пользователь не введет что-то адекватное, так?. А как это сделать, допереть не могу. Посоветуйте, пожалста!)))
Большая благодарность за труды по обучению недоразвитых) Но, если перед записью ролика составить себе на бумажке план лекции, то изложение еще улучшится.
Тоже учусь по этим видосам все доступно. Мелочей правда мало, Нет всех подробностей. Лучше иметь под рукой какой нибудь учебник дополнительно.В общем респект, не зря тратишь время.
Спасибо за курс. Неплохо было бы дать определение "сеттера" и "геттера" и объяснить в каком они формате записываются, то есть почему пишется "setName", синтаксис. А то приходится догадываться интуитивно.
Второй момент-зачем задавать значение полей, если есть ограничения на их вид. Можно же параметры все через метод передавать? И в методе они уже проверяются и возвращаются статусы
Бро, вместо ручного переименовывания переменных в intelliJ есть команда "Refactor" в контекстном меню кликая на переменную. С её помощю переименовывается переменная во всем коде
Вопрос для самых одарённых: Как будет выглядеть проверка на ввод пустого значения с консоли для переменных значения типа int? 2 часа думаю над этой казалось бы маленькой задачей.
В названии видео есть слово "Инкапсуляция", но что это - так и не услышал. Только пару раз между делом в тексте прозвучало. Про сеттерны\геттерны тоже как-то расплывчито понятие в уроке, для меня, было. До этого 17 уроков всё ок.
на шестндцатой минуте: "в этом основная идея инкапсуляции. вы должны максимально ограничивать свои поля от других классов, то есть ваши поля были видны только в пределах класса." всё, то делалось в этом видео и есть инкапсуляция.
а что если в конструкторе при создании объекта указывать те же имя и возраст, получается проверку надо в конструкторе прописывать? это адекватный способ или как?) как проверять правильность введенных данных если по условию стоит установка данных через конструктор, или это бред?)
Еще удобно помечать synchronized setName и speak для избежания коллизий. А вот на счет максимально инкапсулировать не согласен. На последнем месте работы зомбодебилы инкапсулировали у класса Point поля x y. Их спрашиваешь зачем почему. Тык мык мычат чего то вот таких видосов насмотрелись
А почему бы нам сразу не передвать значение в Гетер. Т.е, например, передаем имя в getName, в котором name = введеное имя. И после возвращаем назначеное имя
Наиль, подскажите, пожалуйста, почему выводится не "вы ввели некорректный возраст", а 0 при вызове метода .getAge, то же самое с .getName, почему null, а не сообщение sout("вы ввели некорректное имя")?
У меня idea сказала у класса Person указать параметр static. Хотя по предыдущему уроку не ругалась на отсутствие этого параметра. Странно, что для нее изменилось? public class GettersAndSetters { public static void main(String[] args) { Person person1 = new Person(); person1.setName("Онуфрий"); person1.setAge(100); person1.speak(); } static class Person{ private String name; private int age; public void setName(String userName) { if (userName.isEmpty()){ System.out.println("Введено пустое значение."); } else {this.name = userName;} } public String getName(){ return name; } public void setAge(int userAge) { if (userAge
У тебя "main" и "class Person" находятся в одном классе, в классе "public class GettersAndSetters". Вынеси класс Person за пределы класса GettersAndSetters.
А вдруг это не совсем умный пользователь вместо имени мат напишет, это нам в сеттере целую партянки проверок нужно писать. Да и возрос же не может быть 0 или 200 лет. Дела... Лайк как всегда, за урок спасибо.
"пользователь" вообще не будет трогать код или что-то там смотреть. Код будете юзать только ты, либо другой программист. Автор использует слово "пользователь", чтобы было хоть немного понятно, зачем нужны геттеры и сеттеры, для тех, кто никогда с этим не сталкивался.
Просто не выводить на экран с помощью метода System.out.println() значение полей age и name. Если проверка сеттера прошла отрицательно, то значение, которое задается в параметрах сеттера при вызове метода просто не будет присвоено полю объекта. 0 для переменной типа int и null для типа String всё равно останутся, так как это значения по умолчанию.
хотела спросить , а почему мы использовали слово public рядом методах в классе Person ? Ведь в предыдущих уроках эти методы были без этого слово public
Здравствуйте Большое спасибо за Вашу огромную работу А вот ведь в классе Person метод speak() использует переменные name и age Не через геттеры (не getName и не getAge) Я так понимаю внутри класса всегда к переменным обращаемся на прямую без сеттеров и геттеров За раннее спасибо
Вопрос. Так можно-же просто в самом начале изменить с name на login без геттеров/сеттеров. Человек же это не будет видеть так-как он видит только main. зачем тогда все это нужно?
Допустим у тебя 100 классов, в каждом из которых есть вызов поля name, потом по какой-то причине(ошибка из-за конфликтов переменных и тп), тебе надо изменить name -> login. Ты будешь вручную это делать? Лучше уж воспользоваться сетторами и гетторами, и изменить несколько строчек кода, в которых используеться это поле.
Регистрируйтесь на курс "Продвинутая Java": czcams.com/video/rRe1vT0SDD8/video.html
Практикуйтесь в написании Java кода: java-marathon.tilda.ws
привет подскажи разве 1 метод не делает то что делают два других. но более компактнее 1) String name (String x) {
name = x;
return name;
}
----------------------------------------
2) void name1(String x) {
name = x
}
3) String name2() {
return name
}
скажите пожалуйста где можно попрактиковаться по этим темам?
Только здесь получил ясное представление о геттерах и сеттерах. Огромное тебе спасибо, добрый человек, за твой труд!
+Alexandr Evstratenko Пожалуйста!
Тип данных в параметрах метода, указывает на то, значение какого типа данных, метод может принять от объекта на хранение. Да, и еще важно понять, что поля - характеристики объекта, методы - средства работы с полями, а сам объект - immutable. ) В этом суть ООП. Прекрасный курс. Спасибо.
Видео уже 2.5 года, но только у этого Человека я понимаю ВСЕ темы которые меня интересуют, спасибо за труды!
Видео уже 6 лет, и всё тоже что и у вас) Молодец парень, хорошие видео сделал, спасибо.
@@Serge_g900 жаль, что год уже видосы не выходят(
Уже 7 лет прошло, а лучше так никто и не объясняет, классика в общем)
2021 на дворе) что-то принципиально поменялось?) вроде все так же актуально) спасибо за уроки!!!
Не перестаю радоваться что нашел этот канал! Все замечательно, спасибо за уроки!
можно добавить что например в IDEA при помощи нажатия alt + ins можно автоматические создавать геттеры и сеттеры
только не забудьте ввести переменные!
Как всегда почерпнул много того, что не замечал в других источниках! Спасибо!
Прекрасное представление по всем темам.Разобрался сразу с теми вопросами,в котрых плавал(вызовы методов,void,return).Огромное спасибо,очень стоящий курс!
Грамотно и лаконично все рассказал - пятерка в дневник)) Спасибо!!
БРО, ТЫ ПРОСТО ЛУЧШИЙ
Я УЖЕ ДУМАЛ ЗАБРОСИТЬ ОБУЧЕНИЕ
Почему я не знал этого канала 5 лет назад 👍 .... Спасибо большое, как ты объясняешь beckand с примером со стороны пользовательский ЭТО ВООБЩЕ БОМБА👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍
Классный пример! Всё стало понятно и очень логично! Спасибо!
Все очень понятно и доступно. Спасибо за проделанную колоссальную работу по созданию обучающего курса) Я думаю, многим начинающим и не только разработчикам информация будет полезной
Нормально зашло! Везде вокруг, да около, а тут, как обычно, очень понятно!
Спасибо огромное, прочитал книгу и пару статей, понял инкапсуляцию только благодаря вашему видео
Так классно объясняешь. Респект тебе!!!!!!!! Успехов!
Очень крутые уроки. Иногда захожу на другие сайты, чтобы расширить кругозор по той или иной теме, но "костяк" инфы усваиваю здесь. Спасибо!
Благодарю от души. Ясно и чётко всё объясняешь а главное аналогии понятные.
С П А С И Б О !
Подписался. Господи, после всяких "преподавателей" твои уроки это просто идеал преподавания! Вот так просто и своими словами объясняешь, я лишь повторяю в идее и все запоминается и понимается.
Спасибо большое! Отличные уроки!
Супер уроки: кратко и понятно!
Спасибо за работу!
Первый раз понял что такое сеттеры и геттеры. До этого смотрел и читал разное, но на живых примерах - впервые изложено для понимания, а не для "так надо". СПАСИБО!
Отличный урок! Спасибо.
Молодец мужик, очень клево все объясняешь.
Алишев, ты очень доходчиво рассказал!
Спасибо, по полочкам разложил!
Спасибо, очень много узнал по Вашим видео
Спасибо! Очень просто и понятно!
Отличный урок) Благодарю!
Огромное спасибо! Просто и понятно.
Шикарная подача материалла! Браво!!! 10 из 10. Лучшего курса я пока еще не видел! Успехов тебе. И пожалуйста продолжай дальше записывать видео!🤝🤝🤝
Понятные и очень просто видео, спасибо большое! :)
Ну хоть что-то начало доходить про геттер и сеттер. Спасибо огромное
спасибо за доходчивое разъяснение
Стараюсь конспектировать все твои уроки чтоб быстрее понять и запомнить. Про геттеры и сеттеры на ютубе пересмотрел около 10 видосов разных. Я так и не понял что это и зачем нужны. Тут я даже ничего не записывал, ибо это оказалось настолько простой и понятной вещью
Почему так мало лайков? Такое ощущение, будто человек записывал видео, когда их ещё не существовало.
Потрясающее объяснение 👍
Благодарю! Очень полезно!
Спасибо, разобрался наконец)
Очень круто обьяснил. В твоих уроках есть то чего нету в других. Обьянение того зачем это нужно и где этоприменяется. Сделай еще плиз курс пет проэкты. Что делать? Как делать? Зачем? Что на них ты должен научится? Что обычно делают в компаниях? Что пишут регулярно? А что не так часто? Что нужно знать чтобы понять как решить ту или иную проблему если ты работаешь как джава разработчик на андроид или на ентерпрайз. Будет реально полезно. И если будешь делать проэкты объясни почему именно он? Чем он нам поможет для работы и т.д. Спасибо тебе. Учить это твое. Продолжай в том же духе и монетизируй
Очень круто подал информацию. Спасибо
Просто лучший, очень полезно и классно, всем буду советовать канал и ваши книги
автор видео писал книги?
Решил перейти на Java с JS. благодаря вам процесс дается гораздо проще)
Спасибо вам большое!
тоже с жс перешёл на джаву, неудобно , но прикольно
Реально все четко. Спасибо. Буду дальше смотреть твои уроки
и чуть не забыл - конечно же лайк. Жаль что два за раз не могу поставить)
крч, всем тем, кто уже пытался врубиться в джаву и не смог, но имеет сумбур знаний, вам на этот канал, очень хорошо мозги прочищает и расставляет всё по полочкам).
Спасибо за объяснение
какая понятная джава) спасибо)
отличное обьяснение, все супер
Страничка выглядит отлично,все очень хорошо,спасибо за анонс.Искал страничку для заработка и снова нашел,СПАСИБО
Спасибо за видео! Всё-таки, для меня, когда человек объясняет и показывает на примере лучше доходит. А то уже и в HeadFirst прочитал и в раше прошел, и так и не дошло)
Сапсибо alishev и кстати мог бы сразу про Refactor рассказать походу или Shift + F6
Так, в общем мне немного подсказали и таки получилось написать так, чтобы прога запрашивала и имя и возраст до тех пор, пока не будет адекватного ответа. Спасибо автору еще раз. Очень доходчиво излагаете!!! Если кому интересно, то код ниже:
-------------------------------------------------
import java.util.Scanner;
public class Set_Get {
public static void main(String[] args) {
String name;
int age;
Scanner scan = new Scanner(System.in);
Identification person = new Identification();
while(!person.getIsNameCorrect()){
System.out.println("Введите Ваше имя: ");
name = scan.nextLine();
person.setName(name);
}
while(!person.getIsAgeCorrect()){
System.out.println("Введите Ваш возраст: ");
age = scan.nextInt();
person.setAge(age);
}
System.out.println("Вас зовут - " + person.getName() + ". Ваш возраст - " + person.getAge() + " лет. Вы можете войти!!!");
}
}
class Identification{
private String userName;
private int userAge;
private boolean isNameCorrect = false;
private boolean isAgeCorrect = false;
public void setName(String n){
if (n.isEmpty()){
System.out.println("Вы ввели пустое имя!!! Введите имя еще раз!!!");
}
else{
userName = n;
isNameCorrect = true;}
}
public String getName(){
return userName;
}
public Boolean getIsNameCorrect(){
return isNameCorrect;
}
public void setAge(int a){
if (a
Дописала к проверке на
В данной теме, по факту, про инкапсуляцию ни слова не сказано)
Кроме того что упоминается прайват.
Инкапсуляция - сокрытие элементов путем изменения\добавления модифакторов доступа. Это более обширная тема, чем прописывание сеттеров и геттеров.
В остальном, спасибо за видео)
согласен, ни о чем, если честно...
канал отличный
Спасибо большое за подробные уроки. Еще большой плюс в том, что произношение английских слов чистое, привыкаешь называть все правильно)
Это да, но автор все время называет null как нУл, хотя правильно нАл.
@@user-fg7ri5vw8f ноал, а не нал
Серьезно??? так все просто )) Спасибо огромное пожалуйста снимай ролики, ты распиаришься полюбому))
Очень хорошо объясняете, речь поставлена) Приятно слушать) Спасибо
Ты молодец всё очень подробно до мельчайших деталей обьесняешь
Api это application programming interface пишу чтобы не путать начинающих, спасибо за видео
Спасибо!
Вот ТЕПЕРЬ все стало понятно.
отлично
я не могла понять раньше эти сет и гет потому что не понимала зачем по сто раз эти имена создавать. а теперь я понимаю что есть еще юзеры - поэтому мы должны быть в состоянии поменять внутри своей программы имена полей, НО что бы программа продолжала работать у других людей. что бы мои внутрение редакции не попортили работу программы у третьих лиц. .... если я верно поняла)
Спасибо! Все предельно понятно. Идеальная логика изложения. Молодец!
Спасибо вам :)
Наконец-то, что-то стоящее! А то на всех каналах картавые умные дядьки объясняют, что хер поймёшь?
Респект, чувак и уважуха тебе!!!
ну респект и уважуха понятно, но чувак ему зачем???
ммм... а я вот люблю задавать пустые имена, но возможностей все меньше и меньше. Спасибо за ваш курс!
Большущее спасибо! :) каша ушла )))
Спасибо
Автору как всегда респект!! А вопрос такой. Я тоже сделал вариант со сканнером, когда пользователь на запрос программы вводит имя и возраст. Так вот. Когда в методе сэттер идет проверка на пустое имя (так же как и на отрицательный возраст). Здесь, как-бы, нужно зациклить, пока пользователь не введет что-то адекватное, так?. А как это сделать, допереть не могу. Посоветуйте, пожалста!)))
Здравствуйте, а можно ли назвать инкапсуляцией то что мы делали на прошлом уроке? Мы же не обращались на прямую к переменным из метода main.
Большая благодарность за труды по обучению недоразвитых) Но, если перед записью ролика составить себе на бумажке план лекции, то изложение еще улучшится.
скажите пожалуйста чем отличается класс который мы создали в одном файле и класс на который мы выделяем отдельный файл
Тоже учусь по этим видосам все доступно. Мелочей правда мало, Нет всех подробностей. Лучше иметь под рукой какой нибудь учебник дополнительно.В общем респект, не зря тратишь время.
+Дмитрий Дементьев Спасибо!
Вот это да вот это другое дело
Спасибо за курс. Неплохо было бы дать определение "сеттера" и "геттера" и объяснить в каком они формате записываются, то есть почему пишется "setName", синтаксис. А то приходится догадываться интуитивно.
set - назначить, get - получить, при минимальном знании английского это становится очевидно)
В шарпе идеально сделаны геттеры и сеттеры
в плейлисте канала видео в обратном порядке воспроизводится, как задать нужную последовательность?
Неплохо было бы оставлять задачи на закрепление под видео
в платном курсе всё есть.
Почему не так:
public void setName(String name){
this.name = name;
// Основная идея инкапсуляции вы должны максимум ограничить свои поля от другиз классов
Второй момент-зачем задавать значение полей, если есть ограничения на их вид. Можно же параметры все через метод передавать? И в методе они уже проверяются и возвращаются статусы
Наиль, скажи, в твоем курсе по ссылке есть стримы? Я просто только лямбда выражения нашел!
Добрый день! Cкажите пожалуйста где можно попрактиковаться по этим темам?
Бро, вместо ручного переименовывания переменных в intelliJ есть команда "Refactor" в контекстном меню кликая на переменную. С её помощю переименовывается переменная во всем коде
Ну норм совет в ролик шестилетней давности. Некропостер
Вопрос для самых одарённых:
Как будет выглядеть проверка на ввод пустого значения с консоли для переменных значения типа int?
2 часа думаю над этой казалось бы маленькой задачей.
В названии видео есть слово "Инкапсуляция", но что это - так и не услышал. Только пару раз между делом в тексте прозвучало.
Про сеттерны\геттерны тоже как-то расплывчито понятие в уроке, для меня, было. До этого 17 уроков всё ок.
на шестндцатой минуте:
"в этом основная идея инкапсуляции. вы должны максимально ограничивать свои поля от других классов, то есть ваши поля были видны только в пределах класса."
всё, то делалось в этом видео и есть инкапсуляция.
где это можно применить?
а что если в конструкторе при создании объекта указывать те же имя и возраст, получается проверку надо в конструкторе прописывать?
это адекватный способ или как?)
как проверять правильность введенных данных если по условию стоит установка данных через конструктор, или это бред?)
Еще удобно помечать synchronized setName и speak для избежания коллизий. А вот на счет максимально инкапсулировать не согласен. На последнем месте работы зомбодебилы инкапсулировали у класса Point поля x y. Их спрашиваешь зачем почему. Тык мык мычат чего то вот таких видосов насмотрелись
А почему бы нам сразу не передвать значение в Гетер.
Т.е, например, передаем имя в getName, в котором name = введеное имя. И после возвращаем назначеное имя
Наиль, подскажите, пожалуйста, почему выводится не "вы ввели некорректный возраст", а 0 при вызове метода .getAge, то же самое с .getName, почему null, а не сообщение sout("вы ввели некорректное имя")?
выводится. самой первой строчкой.
а потом отрабатывают методы гетнейм и гетеэдж. там уже выводится значение переменных на данный момент.
У меня idea сказала у класса Person указать параметр static. Хотя по предыдущему уроку не ругалась на отсутствие этого параметра. Странно, что для нее изменилось? public class GettersAndSetters {
public static void main(String[] args) {
Person person1 = new Person();
person1.setName("Онуфрий");
person1.setAge(100);
person1.speak();
}
static class Person{
private String name;
private int age;
public void setName(String userName) {
if (userName.isEmpty()){
System.out.println("Введено пустое значение.");
}
else
{this.name = userName;}
}
public String getName(){
return name;
}
public void setAge(int userAge) {
if (userAge
У тебя "main" и "class Person" находятся в одном классе, в классе "public class GettersAndSetters".
Вынеси класс Person за пределы класса GettersAndSetters.
например ваш пользователь не совсем умный человек (с)
ахахах
будто все пользователи умные :D
будто все программисты умные :D
А вдруг это не совсем умный пользователь вместо имени мат напишет, это нам в сеттере целую партянки проверок нужно писать. Да и возрос же не может быть 0 или 200 лет. Дела... Лайк как всегда, за урок спасибо.
"пользователь" вообще не будет трогать код или что-то там смотреть. Код будете юзать только ты, либо другой программист. Автор использует слово "пользователь", чтобы было хоть немного понятно, зачем нужны геттеры и сеттеры, для тех, кто никогда с этим не сталкивался.
Доброго времени суток, хотел спросить: а как убрать из консоли вывода null і 0, если проверка в сеттере прошла отрицательно?
Просто не выводить на экран с помощью метода System.out.println() значение полей age и name. Если проверка сеттера прошла отрицательно, то значение, которое задается в параметрах сеттера при вызове метода просто не будет присвоено полю объекта. 0 для переменной типа int и null для типа String всё равно останутся, так как это значения по умолчанию.
хотела спросить , а почему мы использовали слово public рядом методах в классе Person ? Ведь в предыдущих уроках эти методы были без этого слово public
public для того чтобы можно было использовать и обращаться к данному метод в любой точке программы или пакета.
Здравствуйте Большое спасибо за Вашу огромную работу А вот ведь в классе Person метод speak() использует переменные name и age Не через геттеры (не getName и не getAge) Я так понимаю внутри класса всегда к переменным обращаемся на прямую без сеттеров и геттеров За раннее спасибо
Да, геттеры/сеттеры как правило для обращения к полям извне класса
@@alishevN Спасибо
Наконец хоть кто-то по английски правильно говорит!
самые лучшие видео по Java! но я никак не пойму как "ПОЛЬЗОВАТЕЛЬ" сможет иметь доступ к какому либо классу и к коду вообще? :-)
Ну да, здесь слово пользователь не совсем подходящее.
@@alishevN спасибо, разобрался! :) в любом случае - самая лучшая подача материала
Вопрос. Так можно-же просто в самом начале изменить с name на login без геттеров/сеттеров.
Человек же это не будет видеть так-как он видит только main.
зачем тогда все это нужно?
Допустим у тебя 100 классов, в каждом из которых есть вызов поля name, потом по какой-то причине(ошибка из-за конфликтов переменных и тп), тебе надо изменить name -> login. Ты будешь вручную это делать? Лучше уж воспользоваться сетторами и гетторами, и изменить несколько строчек кода, в которых используеться это поле.