Доброго времени суток, хотел узнать по поводу второй ссылки, нажимаю перейти в телеграмм, пишет ссылка уже недействительна, а также хотел узнать о цене, там на странице нигде не увидел стоимость 2 недель. Спасибо
Спасибо за отличные уроки! Только обязательно продолжай их делать, т.к. у тебя очень хорошо получается и это делает обучение Java для многих куда более доступным!
@@vladimirplohotniuk5214 а смысл платить за базовые вещи, которые находятся в бесплатном доступе? Просто кто-то хуже объясняет, кто-то лучше. Платно обычно то, что позволяет в более сжатые сроки изучить куда больший объем информации, ещё и с ментором, чтоб по граблям не ходить.
Тут не показано, но есть вариант отложить инициализацию константы (конечная переменная) после объявления ее в методе объекта. С статической константой такой фокус не пройдет. Пример: public int setYgrek() { final int YGREK; if (age > 3) { YGREK = 20; } else { YGREK = 10; } return YGREK; } после присваивания наша константа будет принимать значение для каждого созданного объекта. т.е в каждом объекте будет своя константа игрек.
Нифига оно не константу возвращает class Human { int r; public Human(int r) { this.r = r; } public int setAge (){ final int age; if (r < 10){ age = 100; } else { age = 200; } return age; } } public class InstanceCounter { public static void main(String[] arguments) { int tt; Human human1 = new Human(22); tt = human1.setAge(); System.out.println(tt); // 200 human1.r = 3; tt = human1.setAge(); System.out.println(tt); // 100 } }
Ну так в классе Human чего то не хватает наверно да? Естественно что метод setAge () тупо вернет числовое значение и все.. А кому он его вернет? короче.. public class Person { int r; final int AGE; public Person(int r) { this.r = r; if (r < 10) { AGE = 100; } else { AGE = 200; } } @Override public String toString() { return "Person{" + "age =" + AGE + " r = "+ r + '}'; } } public class Test { public static void main(String[] args) { Person person1 = new Person(20); Person person2 = new Person(5); System.out.println("person1 " + person1 ); System.out.println("person2 " + person2); person1.r = 3; person2.r = 21; System.out.println("person1 с изменнным р" + person1); System.out.println("person2 с изменнным р" + person2); } } Констаты как присвоились так и остались на месте независимо от того что я там снова в объекте поменял.
@@Rommel7755 да уж, про это автор не говорил, наверное ЭТОТ пример надо было показывать. Сидел минут 10 думал как так, хотя не совсем еще понял, почему теперь поля объекта меняю, а AGE как присвоилась первый раз объекту так и осталась. Можешь объяснить? Блин кажись дошло))). После того как в конструкторе для объекта она присвоилась, потом уже не изменить ее. Стоп )))). Дак тут не нужен final для нее тогда ))). Я запутался...
Еще простой пример: Объявляем переменную типа int и записываем в нее число 5. final int a = 5; Далее прибавляем к числу 5 еще 5, пытаясь записать результат в переменную 'a'. a+=5; И тут среда разработки "ругается", что нельзя присваивать к переменной 'a' никаких значений. Стоит убрать префикс 'final', как все работает. Убедиться в этом можно очень просто - вывести результат на экран: System.out.println(a);
// final - не можем изменит значение или преусвоить другое значение (констант) это последнее значение // константы все с большой буквы // Сеттеры мы не можем создать в константе(final)
Не знаю насколько бы я всё понял если бы впервые увидел надпись "final", но достаточно просто объяснил. Но!!!! Самое крутое что видео записывалось скорее всего с утра 1-го января. Ты псих)))) Лайк тебе однозначно.
Так, я праивильно понял, что final static переменные уже известны на момент компиляции программы и должны быть обязательно проинициализированы? Типа тру константы. Захардкожены в программу. (const val в котлине) А final переменные - это когда значение поисваивается в процессе выполнения программы, но только один раз (val в котлине).
А почему ты говоришь, что обычно переменные с final бывают и static тоже? Мне кажется, так же часто они и не statis нужны. Например, в конструкторе при создании объекта (например, нового клиента) необходимо присвоить ему неизменяемый id пользователя. У каждого экземпляра класса (клиента) он будет свой, так что тут static делать не нужно. Или это не так работает?
Всем привет! Подскажите, пожалуйста, что обозначает слово "public" при создании метода, или переменной. Так как я понял, что это обозначает при создании класса ("public" - обозначает, что может существовать только один главный класс, и его имя должно совпадать с именем .java файла, а вспомогательных классов может быть сколько угодно). Собственно, не понятна его("public") роль в этих случаях: 1. При создании метода "main"; 2. При создании методов во вспомогательных классах; 3. При декларации переменных/статических-переменных во вспомогательных классах. Заранее спасибо и всем хорошего дня!
Public это модификатор доступа. Это значит, что всё что может вызываться с этим модификатором (буть-то класс, метод, поля класса и т.д.), будет доступно для вызова или изменения откуда угодно в нашей программе. Грубо говоря, этот модификатор нивелирует правило инкапсуляции. Это как я понял сам только начал изучать java. Удачи!
public'ом , по сути, помечается всё, что должно быть доступно конечному пользователю по итогу. Что не должно, то скрывается за private, protected и default
Так, что то я не понял, в смысле если константа не статик то она общая для всех экземпляров класса? Это ведь не так. Просто при создании каждого из Обь ектов будет инициалищироваться своя константа и своим значением. Разве нет?
Вы просто находка для студентов!!!! настолько все понятно и доходчиво! надеюсь сдам зачет по джаве, потому что смотрю ваши уроки и пока что все понятно!! вопрос: есть ли у Вас уроки по С#
Здравствуйте, не совсем понятно на 4:30 минуте ролика когда при инициализации в методе main, переменная продолжает подчеркиваться красной линией т.е. инициализация переменной через метод main не проходит?
Дело в том, что переменная не просто имеет модификатор final, но ещё и является статичной (это не всегда обязательно, но в нашем примере получается именно так), а статичные переменные (поля) создаются сразу же на этапе декларирования их внутри класса и требуют начальной инициализации именно на этом этапе. Что произошло в нашем примере? Мы объявили статичную константу без явной инициализации (это не значит, что никакой инициализации не произошло, если мы по какой-то причине не проинициализировали статичную переменную явно, то она проинициализируется неявным для нас образом значением по умолчанию, для простейшего типа int таким значением по умолчанию является 0 (ноль)), но тем не менее, она уже хранит в себе значение по умолчанию. Поскольку статичная константа была неявно проинициализирована 0 (нулём), мы не можем перепреисвоить ей другое значение внутри метода main(), так как переменная является final, то бишь, константой.
ты говоришь что после присвоения переменной значения в конструкторе, присвоить ей значение через сеттер нельзя. но даже если конструктор не создавать, все равно не разрешает присвоить ей значение через метод ps. не понятно почему вообще через конструктор разрешается это делать. ведь если я создаю 2й объект, то какое бы я значение не передал в параметры, константа от этого не изменится...
Извините, пожалуйста. Очень путают оговорки и поправки, когда пытаешься ухватить мысль своими не тренированными мозгами. Пожалуйста, немного лучше готовьтесь к записи видео, если это возможно. Спасибо Вам за уроки.
Гораздо смешнее когда лектор за ваши же деньги в оплаченное вами время лезет гуглить по теме лекции. Вот это да, умора. А здесь все на очень достойном уровне, понятно и доходчиво.
Народ, читаю ваши комментарии и в шоке, кто у нас софт собирается писать, от которого возможно будут зависеть жизни людей. Короче, открываете книгу, там буквы, складываете их, получаются слова, я понимаю что это сложно, но придётся это преодолеть. Потому что судя по комментариям, книги вы принципиально не открываете, раз узнаёте столько "нового", что в принципе является базой базы и написано чуть ли не в первом абзаце. Что вы учите тогда я вообще хз, кошмар.
@@ГаннибалБарка-л8р Эккеля хвалят, мне он тоже зашёл, Шилдт хороший автор, профессионал, но его книги лучше как справочник использовать, он глубоко в теорию копает.
все бы ничего но чувак поставь в плей листе по порядку видосы это оч легко делается незнаеш как обращайся подскажу ... ато надо каждый раз переключать в ручную... это пппц
Кажется твои ошибки в коде были не запланированными, и ты в действительности читал чтобы понять где напорол ведь сам не совсем ознакомлен с материалом. Видимо совсем не хотя записывал это
что значит обычно бывает также static? после таких уроков сразу можно ехать работать в индию. Учите инглиш не смотрите такое, студенты и школьники. Это просто пиздец...
Регистрируйтесь на курс "Продвинутая Java": th-cam.com/video/rRe1vT0SDD8/w-d-xo.html
Практикуйтесь в написании Java кода: java-marathon.tilda.ws
Доброго времени суток, хотел узнать по поводу второй ссылки, нажимаю перейти в телеграмм, пишет ссылка уже недействительна, а также хотел узнать о цене, там на странице нигде не увидел стоимость 2 недель. Спасибо
Огонь ! Я чувствую себя умным с вашими видео :D
ну что, стал программистом?
Спасибо за отличные уроки! Только обязательно продолжай их делать, т.к. у тебя очень хорошо получается и это делает обучение Java для многих куда более доступным!
+Никита Жигунов Пожалуйста)
Для начинающих самое то, всё понятно и легко! А где вы сами научились джаве? Книги? Курсы? Или что-то другое?
ты хотел сказать наверное "круто для любителей халявы", и нежелающим платить на чужой труд
@@vladimirplohotniuk5214 а смысл платить за базовые вещи, которые находятся в бесплатном доступе? Просто кто-то хуже объясняет, кто-то лучше. Платно обычно то, что позволяет в более сжатые сроки изучить куда больший объем информации, ещё и с ментором, чтоб по граблям не ходить.
@@vladimirplohotniuk5214 а ты не думаешь, что некоторые не могут платить за платнве курсы? Или легь подольше думать...
Смотрю после книги. 22 урока на одном дыхании. Как многие пишут и правда все очень доступно и главное подробно объясняешь. Всем роликам лайк
После какой книги?
@@gingerCatStore, скорее всего, речь идёт о книге Шилдта.
вы стали программистом?
@@Gidropoljb типа того. Пишу для себя если нужно что-то, но по профессии не работаю
Красава, на 40 секундах мог заканчивать видео))) Лайк!
вы стали программистом?
Огромное спасибо! Испытывал сложности с пониманием статических методов, урок идеально расставил все по местам
вы стали программистом?
Тут не показано, но есть вариант отложить инициализацию константы (конечная переменная) после объявления ее в методе объекта. С статической константой такой фокус не пройдет. Пример:
public int setYgrek() {
final int YGREK;
if (age > 3) {
YGREK = 20;
} else {
YGREK = 10;
}
return YGREK;
}
после присваивания наша константа будет принимать значение для каждого созданного объекта. т.е в каждом объекте будет своя константа игрек.
Нифига оно не константу возвращает
class Human {
int r;
public Human(int r) {
this.r = r;
}
public int setAge (){
final int age;
if (r < 10){
age = 100;
} else {
age = 200;
}
return age;
}
}
public class InstanceCounter {
public static void main(String[] arguments) {
int tt;
Human human1 = new Human(22);
tt = human1.setAge();
System.out.println(tt); // 200
human1.r = 3;
tt = human1.setAge();
System.out.println(tt); // 100
}
}
Ну так в классе Human чего то не хватает наверно да? Естественно что метод setAge () тупо вернет числовое значение и все.. А кому он его вернет? короче..
public class Person {
int r;
final int AGE;
public Person(int r) {
this.r = r;
if (r < 10) {
AGE = 100;
} else {
AGE = 200;
}
}
@Override
public String toString() {
return "Person{" +
"age =" + AGE +
" r = "+ r + '}';
}
}
public class Test {
public static void main(String[] args) {
Person person1 = new Person(20);
Person person2 = new Person(5);
System.out.println("person1 " + person1 );
System.out.println("person2 " + person2);
person1.r = 3;
person2.r = 21;
System.out.println("person1 с изменнным р" + person1);
System.out.println("person2 с изменнным р" + person2);
}
}
Констаты как присвоились так и остались на месте независимо от того что я там снова в объекте поменял.
@@Rommel7755 да уж, про это автор не говорил, наверное ЭТОТ пример надо было показывать. Сидел минут 10 думал как так, хотя не совсем еще понял, почему теперь поля объекта меняю, а AGE как присвоилась первый раз объекту так и осталась. Можешь объяснить? Блин кажись дошло))). После того как в конструкторе для объекта она присвоилась, потом уже не изменить ее. Стоп )))). Дак тут не нужен final для нее тогда ))). Я запутался...
Очень доходчивое объяснение! Спасибо большое!
вы стали программистом?
Всё по полочкам. Сильно
Еще простой пример:
Объявляем переменную типа int и записываем в нее число 5.
final int a = 5;
Далее прибавляем к числу 5 еще 5, пытаясь записать результат в переменную 'a'.
a+=5;
И тут среда разработки "ругается", что нельзя присваивать к переменной 'a' никаких значений. Стоит убрать префикс 'final', как все работает.
Убедиться в этом можно очень просто - вывести результат на экран: System.out.println(a);
// final - не можем изменит значение или преусвоить другое значение (констант) это последнее значение
// константы все с большой буквы
// Сеттеры мы не можем создать в константе(final)
хорошим тоном считается не использовать keyword "this" при обращении к собственным members класса (касаемо метода setCONSTANT)
Не знаю насколько бы я всё понял если бы впервые увидел надпись "final", но достаточно просто объяснил. Но!!!! Самое крутое что видео записывалось скорее всего с утра 1-го января. Ты псих)))) Лайк тебе однозначно.
2 января записывалось(у него справа сверху на компе день недели указан, который приходился на второе января в 16 году)
Спасибо за урок!
вы стали программистом?
Так, я праивильно понял, что final static переменные уже известны на момент компиляции программы и должны быть обязательно проинициализированы? Типа тру константы. Захардкожены в программу.
(const val в котлине)
А final переменные - это когда значение поисваивается в процессе выполнения программы, но только один раз (val в котлине).
А почему ты говоришь, что обычно переменные с final бывают и static тоже? Мне кажется, так же часто они и не statis нужны. Например, в конструкторе при создании объекта (например, нового клиента) необходимо присвоить ему неизменяемый id пользователя. У каждого экземпляра класса (клиента) он будет свой, так что тут static делать не нужно. Или это не так работает?
Вроде правильно сформулировал.
в современном мире айди меняется
спасибо!
Всем привет! Подскажите, пожалуйста, что обозначает слово "public" при создании метода, или переменной. Так как я понял, что это обозначает при создании класса ("public" - обозначает, что может существовать только один главный класс, и его имя должно совпадать с именем .java файла, а вспомогательных классов может быть сколько угодно). Собственно, не понятна его("public") роль в этих случаях: 1. При создании метода "main"; 2. При создании методов во вспомогательных классах; 3. При декларации переменных/статических-переменных во вспомогательных классах.
Заранее спасибо и всем хорошего дня!
Public это модификатор доступа. Это значит, что всё что может вызываться с этим модификатором (буть-то класс, метод, поля класса и т.д.), будет доступно для вызова или изменения откуда угодно в нашей программе. Грубо говоря, этот модификатор нивелирует правило инкапсуляции. Это как я понял сам только начал изучать java. Удачи!
public'ом , по сути, помечается всё, что должно быть доступно конечному пользователю по итогу. Что не должно, то скрывается за private, protected и default
Спасибо!
Так, что то я не понял, в смысле если константа не статик то она общая для всех экземпляров класса? Это ведь не так. Просто при создании каждого из Обь ектов будет инициалищироваться своя константа и своим значением. Разве нет?
Вы просто находка для студентов!!!! настолько все понятно и доходчиво! надеюсь сдам зачет по джаве, потому что смотрю ваши уроки и пока что все понятно!!
вопрос: есть ли у Вас уроки по С#
Спасибо вам.
Уроков по C# пока нет.
сдала зачёт?
@@manOfPlanetEarth походу в армию забрали
@@DolphinArtem
🤣🤣🤠
Спасибо
Здравствуйте, не совсем понятно на 4:30 минуте ролика когда при инициализации в методе main, переменная продолжает подчеркиваться красной линией т.е. инициализация переменной через метод main не проходит?
переменную помеченую final изменять нельзя, поэтому компилятор ругается.
Дело в том, что переменная не просто имеет модификатор final, но ещё и является статичной (это не всегда обязательно, но в нашем примере получается именно так), а статичные переменные (поля) создаются сразу же на этапе декларирования их внутри класса и требуют начальной инициализации именно на этом этапе. Что произошло в нашем примере? Мы объявили статичную константу без явной инициализации (это не значит, что никакой инициализации не произошло, если мы по какой-то причине не проинициализировали статичную переменную явно, то она проинициализируется неявным для нас образом значением по умолчанию, для простейшего типа int таким значением по умолчанию является 0 (ноль)), но тем не менее, она уже хранит в себе значение по умолчанию. Поскольку статичная константа была неявно проинициализирована 0 (нулём), мы не можем перепреисвоить ей другое значение внутри метода main(), так как переменная является final, то бишь, константой.
uppercase используется для обозначения static final, а не просто final
Понятно. Спасибо.
почему Вы поля класса делаете public, и сеттер? как же инкапсуляция¿ вообще уроки хороши, лукасы постараюсь проставить
ты говоришь что после присвоения переменной значения в конструкторе, присвоить ей значение через сеттер нельзя. но даже если конструктор не создавать, все равно не разрешает присвоить ей значение через метод
ps. не понятно почему вообще через конструктор разрешается это делать. ведь если я создаю 2й объект, то какое бы я значение не передал в параметры, константа от этого не изменится...
Видимо этот класс и конструктор создается специально для таких статичных объектов, которые потом не нужно изменять.
Лайк
Не понял что такое статик финал не понятным языком говоришь
Извините, пожалуйста. Очень путают оговорки и поправки, когда пытаешься ухватить мысль своими не тренированными мозгами. Пожалуйста, немного лучше готовьтесь к записи видео, если это возможно. Спасибо Вам за уроки.
Гораздо смешнее когда лектор за ваши же деньги в оплаченное вами время лезет гуглить по теме лекции. Вот это да, умора. А здесь все на очень достойном уровне, понятно и доходчиво.
где ошибки и оговорки?
Народ, читаю ваши комментарии и в шоке, кто у нас софт собирается писать, от которого возможно будут зависеть жизни людей. Короче, открываете книгу, там буквы, складываете их, получаются слова, я понимаю что это сложно, но придётся это преодолеть. Потому что судя по комментариям, книги вы принципиально не открываете, раз узнаёте столько "нового", что в принципе является базой базы и написано чуть ли не в первом абзаце. Что вы учите тогда я вообще хз, кошмар.
Какие книги посоветуете новичку? Я, например, сейчас читаю Шилдта, но в сети плохо отзываются о книге (конкретно о русской версии).
красава👍🏼😂😂😂😂😂
только выдели, пож-та, "возможно" запятыми.
"судя по комментариям" есть деепричастный оборот. Ты знаешь, что с ним делать.
@@ГаннибалБарка-л8р Эккеля хвалят, мне он тоже зашёл, Шилдт хороший автор, профессионал, но его книги лучше как справочник использовать, он глубоко в теорию копает.
все бы ничего но чувак поставь в плей листе по порядку видосы это оч легко делается незнаеш как обращайся подскажу ... ато надо каждый раз переключать в ручную... это пппц
Ок, сделаю.
Кажется твои ошибки в коде были не запланированными, и ты в действительности читал чтобы понять где напорол ведь сам не совсем ознакомлен с материалом. Видимо совсем не хотя записывал это
что значит обычно бывает также static? после таких уроков сразу можно ехать работать в индию. Учите инглиш не смотрите такое, студенты и школьники. Это просто пиздец...
Black Crusader не соглашусь с мнением насчет канала, но рекомендацию о том, что посмотреть на английском спрошу)
ты дохуя умный человек, запили свои видео о джаве.
@@frommambetia посмотри, это просто выскочка поэтому ему никто не отвечает не спускайся до его уровня.