Учебники

27) Это ключевое слово

Что это за ключевое слово в Java?

Ключевое слово THIS — это ссылочная переменная в Java, которая ссылается на текущий объект.

Ниже перечислены различные варианты использования ключевого слова «ЭТО» в Java:

  • Может использоваться для ссылки на переменную экземпляра текущего класса
  • Может использоваться для вызова или запуска текущего конструктора класса
  • Может быть передан как аргумент в вызове метода
  • Это может быть передано в качестве аргумента в вызове конструктора
  • Может использоваться для возврата текущего экземпляра класса

Нажмите здесь, если видео не доступно

Понять ключевое слово this с примером.

Java ЭТО Ключевое слово

  1. Класс : учетная запись класса
  2. Переменная экземпляра : a и b
  3. Метод Set data : установить значение для a и b.
  4. Метод Показать данные : для отображения значений a и b.
  5. Основной метод: где мы создаем объект для класса Account и вызываем методы, устанавливаем данные и показываем данные.

Давайте скомпилируем и запустим код

Наш ожидаемый результат для A и B должен быть инициализирован значениями 2 и 3 соответственно.

Но значение равно 0, почему? Давай расследуем.

Java ЭТО Ключевое слово

В методе Set data аргументы объявляются как a и b, а переменные экземпляра также именуются как a и b.

Java ЭТО Ключевое слово

Во время выполнения компилятор запутался. Является ли «a» слева от назначенного оператора переменной экземпляра или локальной переменной. Следовательно, он не устанавливает значение ‘a’ при вызове набора данных метода.

Java ЭТО Ключевое слово

Решением является ключевое слово «ЭТО»

Добавьте оба «a» и «b» с ключевым словом «this», за которым следует оператор точки (.).

Java ЭТО Ключевое слово

Во время выполнения кода, когда объект вызывает метод ‘setdata’. Ключевое слово ‘this’ заменяется обработчиком объекта «obj.» (См. Изображение ниже).

Java ЭТО Ключевое слово

Итак, теперь компилятор знает,

  • ‘A’ в левой части является переменной Instance.
  • Принимая во внимание, что ‘a’ на правой стороне является локальной переменной

Переменные инициализируются правильно, и отображается ожидаемый результат.

Java ЭТО Ключевое слово

Предположим, вы достаточно умны, чтобы выбирать разные имена для вашей переменной экземпляра и аргументов методов.

Java ЭТО Ключевое слово

Но на этот раз вы создаете два объекта класса, каждый из которых вызывает метод набора данных.

Как компилятор определит, должен ли он работать с переменной экземпляра объекта 1 или объекта 2.

Java ЭТО Ключевое слово

Что ж, компилятор неявно добавляет переменную экземпляра с ключевым словом «ЭТО» (рисунок ниже).

Java ЭТО Ключевое слово

Таким образом, когда объект 1 вызывает метод набора данных, к переменной экземпляра добавляется его ссылочная переменная.

Java ЭТО Ключевое слово

Пока объект 2 вызывает метод набора данных, переменная экземпляра объекта 2 изменяется.

Java ЭТО Ключевое слово

Этот процесс заботится самим компилятором. Вам не нужно явно добавлять ключевое слово this, если нет исключительной ситуации, как в нашем примере.

Пример: чтобы узнать, как использовать это ключевое слово

Шаг 1) Скопируйте следующий код в блокнот.

class Account{
int a;
int b;

 public void setData(int a ,int b){
  a = a;
  b = b;
 }
 public void showData(){
   System.out.println("Value of A ="+a);
   System.out.println("Value of B ="+b);
 }
 public static void main(String args[]){
   Account obj = new Account();
   obj.setData(2,3);
   obj.showData();
 }
}

Шаг 2) Сохраните, скомпилируйте и запустите код.

Шаг 3) Значение a & b отображается как ноль? Чтобы исправить ошибку, добавьте строки № 6 и 7 с ключевым словом » this «.

this.a =a;
this.b =b;

Шаг 4) Сохраните, скомпилируйте и запустите код. На этот раз значения a & b установлены на 2 и 3 соответственно.

Резюме

  • Ключевое слово «ЭТО» в Java — это ссылочная переменная, которая ссылается на текущий объект.
  • Может использоваться для ссылки на переменную экземпляра текущего класса
  • Может использоваться для вызова или запуска текущего конструктора класса
  • Может быть передан как аргумент в вызове метода
  • Это может быть передано в качестве аргумента в вызове конструктора
  • Может использоваться для возврата текущего экземпляра класса
  • «this» — это ссылка на текущий объект, метод которого вызывается.
  • Вы можете использовать ключевое слово «this», чтобы избежать конфликтов имен в методе / конструкторе вашего экземпляра / объекта.