Почему ключевое слово this мы ставим здесь слева от знака равно, а не справа. Мы же должны переменной метода присвоить значение переменной класса, разве нет?
max
42 уровень
Подскажите, пожалуйста
Решен
Комментарии (6)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
GvardeeZZZ
17 сентября 2021, 07:29
Все оказалось гораздо проще, чем казалось
0
Галкин Юрий
2 августа 2021, 21:34
this -- это синоним Конструктора объекта
А это указателя (ссылки) на сам объект.
И где здесь, позвольте спросить, я вижу только ваш вопрос![]()

0
maxJava Developer в Сбер
3 августа 2021, 14:03
0
maxJava Developer в Сбер
3 августа 2021, 14:04
Вот, не могу понять, почему this cлева, а не справа.
+2
Галкин Юрий
3 августа 2021, 17:20
У класса Solution есть три поля: public String name ; public String position; public int salary ;
У вас реализованы также два метода в этом классе. Каждый из них меняет значение одного из полей экземпляра класса. Чтобы что-то поменять, оно должно быть записано слева от знака присвоения.
Это поле экземпляра класса.
А это переменная, с тем же названием, но полученная как аргумент метода.
Чтобы их отличать одна из них записана через this.
=====
> Мы же должны переменной метода присвоить значение переменной класса, разве нет?
Так что нет, мы должны именно полю поменять значение, а не наоборот.
К тому же, присмотритесь, ведь переменная внутри метода, она же локальная. Она исчезнет, как только закончится вызов метода. Что ей не присвой, это исчезнет вместе с переменной. Так что тут имеет смысл менять только поле экземпляра класса.
Ну и ещё. setSmth() методы, уже как традиция, всегда меняют значения полей. Вряд ли иначе.
+2
Riga Android Developer
9 октября 2021, 16:53
можно было проще написать что в условие написано "а вот должность и зарплата могут поменяться" поэтому задача в первую очеред стоит убрать эти значения, ведь зп с должностью могут поменяться, поэтому и нужно менять переменные класса а не методу присваивать эти значения, то я пока пытался разобраться в твоих объяснения, сам додумался )
0