Просто офигенно. Очень благодарен за разбор! Особенно помогает таким бомжам с джава раша как я, потому что авторы лепят таски на вещи, которые еще не обьясняли...
Просто хороший тон. Если ты не намерен или запрещаешь присваивать ссылке новый объект, то ты делаешь её final. Поскольку final делает константой лишь примитивный тип, то к сложным типам final применяется чтобы ссылке не присвоили другой объект.
static int counter = 2; main { System.out.println(counter); System.out.println(addOne()); System.out.println(counter); } static int addOne(){ return ++counter; } используя метод addOne мы меняем переменную ничего не подозревая. Когда кто-то другой захочет получить ее значение он возможно получит измененное значение и будет долго втыкать почему так. Поставив final компилятор сразу укажет на проблему, что значение подвержено изменению. И мы задумаемся а действительно ли мы хотим этого. Это такая полезная привычка, final можно потом и убрать но по умолчанию лучше ставить.
private - это для пользователей твоего класса, чтобы у них не было доступа. И конечно, это тоже правильно. Если private, то final в принципе не нужен, но для тебя, как разработчика класса - это уместный модификатор.
private - делает переменную внутренней. если к этой переменной есть публичный доступ через метод, или к производной этой переменной, то проблемы изменяемости состояния это не решает. Какие-то внутренние манипуляции и вычисления могут поменять значение переменной а человек пользующийся ей через публичный метод ничего не будет подозревать. private и final нужны оба, первый не дает внешнего доступа к значению переменной напрямую, а второй не дает переназначать значение переменной, чтобы переменная всегда гарантированно хранила свое оригинальное значение. Кода мы пишем публичный метод предоставляющий доступ к переменной, нам самим будет спокойнее, если переменная будет final, так мы точно будем знать что возвращаем оригинальное значение.
Просто офигенно. Очень благодарен за разбор!
Особенно помогает таким бомжам с джава раша как я,
потому что авторы лепят таски на вещи, которые еще не обьясняли...
+1
ахаха, бомжи с джава раша..
+1
javaRushHobo++;
Реально круто объясняешь, спасибо )
Спасибо за видео! Все четко и по делу, спокойно и рассудительно :)
Супер. Наконец-то понятно объяснили про дженерики. Спасибо!
Реально очень занимательно, весело и доступно!!!))
После видео захотелось с вами в живую пообщаться!!!)))
Спасибо! Очень хорошо вы объясняете
+telephon3208 и Вам спасибо !
Очень круто. Доходчиво и ничего лишнего. Так держать!
Подскажите, пожалуйста, есть ли продолжение по Generic-ам Java Generics Модуль 0. Урок 2?
Спасибо Глеб за материал! Суппер! Очень доступно.
Почему в main - е ходит не статичный класс, почему компилятор не ругает?
лучшие уроки по джава!
Дайте ссылку на предыдущее видео, плиз.
Суперово объясняешь!!! Молодцы!!! Большое ЧЕЛОВЕЧЕСКОЕ СПАСИБООО!!!)))) интересно только как объкты отправляются в тот класс и что происходит??...
зачем вы ставите final Tuple?
Просто хороший тон. Если ты не намерен или запрещаешь присваивать ссылке новый объект, то ты делаешь её final. Поскольку final делает константой лишь примитивный тип, то к сложным типам final применяется чтобы ссылке не присвоили другой объект.
static int counter = 2;
main {
System.out.println(counter);
System.out.println(addOne());
System.out.println(counter);
}
static int addOne(){
return ++counter;
}
используя метод addOne мы меняем переменную ничего не подозревая. Когда кто-то другой захочет получить ее значение он возможно получит измененное значение и будет долго втыкать почему так. Поставив final компилятор сразу укажет на проблему, что значение подвержено изменению. И мы задумаемся а действительно ли мы хотим этого. Это такая полезная привычка, final можно потом и убрать но по умолчанию лучше ставить.
Спасибо за ответ! а private нельзя сделать?
private - это для пользователей твоего класса, чтобы у них не было доступа. И конечно, это тоже правильно. Если private, то final в принципе не нужен, но для тебя, как разработчика класса - это уместный модификатор.
private - делает переменную внутренней. если к этой переменной есть публичный доступ через метод, или к производной этой переменной, то проблемы изменяемости состояния это не решает. Какие-то внутренние манипуляции и вычисления могут поменять значение переменной а человек пользующийся ей через публичный метод ничего не будет подозревать. private и final нужны оба, первый не дает внешнего доступа к значению переменной напрямую, а второй не дает переназначать значение переменной, чтобы переменная всегда гарантированно хранила свое оригинальное значение. Кода мы пишем публичный метод предоставляющий доступ к переменной, нам самим будет спокойнее, если переменная будет final, так мы точно будем знать что возвращаем оригинальное значение.
только скобки не фигурные, а угловые
Спасибо огромное, как для чайников!
У Вас на ресурсе есть курс для web Java ? Очень нужен учебный материал, для учебного проекта
Спасибо!
Гинеально!
В конце вместо tuple.getLeft(); надо конечно сделать System.out.println(tuple.getLeft());
зачем выводит на экран просто объект?
@@ОрханИскандаров-г9д затем, чтобы отработал переопределенный toString(). Иначе, возвращаемое значение теряется
Спасибо!