Если вы скажете просто j
в своем конструкторе, то компилятор будет думать, что вы имеете в виду аргумент в обоих случаях. Так
j = j;
просто присваивает значение аргумента j
аргументу j
(что является довольно бессмысленным, но, тем не менее, допустимым утверждением).
Таким образом, чтобы устранить неоднозначность, вы можете добавить префикс this.
, чтобы дать понять, что вы имеете в виду переменную-член с тем же именем.
Другое использование this
- это когда вам нужно передать ссылку на текущий объект какому-либо методу, например, так:
someObject.addEventListener(this);
В этом примере вам нужно сослаться на текущий объект в целом (а не просто на элемент объекта).