Кроме того, сделайте свои поля окончательными, если они абсолютно не могут быть. Есть несколько причин (кроме этой), чтобы сделать это.

я напишу следующий класс:

public class Example {

      int j;
      int k;

      public Example(int j, int k) {
           j = j;
           k = k;
      }

      public static void main(String[] args) {
           Example exm = new Example(1,2);
           System.out.println(exm.j);
           System.out.println(exm.k);
      }

}

Программа компилируется, но когда я запускаю программу, метод main выводит два 0. Я знаю, что для того, чтобы сказать, что я хочу инициализировать переменные экземпляра в конструкторе, я должен написать:

this.j = j;
this.k = k;

Но если я не пишу это, то какая переменная оценивается (или учитывается) в конструкторе (слева и со стороны записи выражений)? Это аргумент или переменная экземпляра? Есть ли разница?

Существуют ли другие случаи, когда использованиеthis обязательно?

Ответы на вопрос(0)

Ваш ответ на вопрос