Що це ключове слово в Java?
це ключове слово в Java є посилальною змінною, яка посилається на поточний об'єкт методу або конструктора. Основна мета використання цього ключового слова в Java - усунути плутанину між атрибутами класу та параметрами, що мають однакові імена.
Нижче наведено різні способи використання ключового слова 'this' у Java:
- Він може використовуватися для посилання на змінну екземпляра поточного класу
- З його допомогою можна викликати чи ініціювати конструктор поточного класу
- Це може бути передано як аргумент у виклику методу
- Він може бути переданий як аргумент у виклику конструктора
- З його допомогою можна повернути поточний екземпляр класу
Клацніть тут, якщо відео недоступне
Зрозумійте ключове слово "this" на прикладі.
- Клас : Акаунт класу
- Змінна екземпляра : a та b
- Метод Встановити дані : встановити значення для a та b.
- Метод Показати дані : Щоб відобразити значення для a та b.
- Основний метод: де ми створюємо об’єкт для класу Account і методи виклику встановлюють дані та показують дані.
Давайте скомпілюємо та запустимо код
Наші очікувані результати для A та B слід ініціалізувати до значень 2 та 3 відповідно.
Але значення дорівнює 0, чому? Нехай розслідує.
У методі Set data аргументи оголошуються як a та b, тоді як змінні екземпляра також називаються як a і b.
Під час виконання компілятор плутається. Чи є "a" в лівій частині призначеного оператора змінною екземпляра або локальною змінною. Отже, він не встановлює значення 'a' при виклику даних набору методів.
Рішенням є ключове слово "this"
Додайте як a, так і b до Java, це ключове слово супроводжується крапкою (.).
Під час виконання коду, коли об'єкт викликає метод 'setdata'. Ключове слово 'this' замінено обробником об'єкта "obj". (Дивіться зображення нижче).
Отже, тепер компілятор знає,
- "A" зліва - це змінна Instance.
- Тоді як "a" праворуч - це локальна змінна
Змінні ініціалізовані правильно, і відображається очікуваний результат.
Припустимо, ви достатньо розумні, щоб вибрати різні імена для змінної вашого екземпляра та аргументів методів.
Але цього разу ви створюєте два об’єкти класу, кожен із яких викликає метод set data.
Як компілятор визначатиме, чи повинен він працювати з змінною екземпляра об’єкта 1 або об’єкта 2.
Ну, компілятор неявно додає змінну екземпляра за допомогою ключового слова "this" (зображення нижче).
Такі, що коли об’єкт 1 викликає метод set data, змінна екземпляра додається до своєї посилальної змінної.
Поки об'єкт 2 викликає метод встановлених даних, змінна екземпляра об'єкта 2 модифікується.
Цим процесом опікується сам компілятор. Вам не потрібно додавати ключове слово 'this' явно, якщо не існує виняткової ситуації, як у нашому прикладі.
Приклад: вивчити використання ключового слова "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 є посилальною змінною, яка посилається на поточний об'єкт.
- Одним із використання цього ключового слова в Java є посилання на поточну змінну екземпляра класу
- З його допомогою можна викликати чи ініціювати конструктор поточного класу
- Це може бути передано як аргумент у виклику методу
- цей покажчик у Java може бути переданий як аргумент у виклику конструктора
- цей оператор у Java може бути використаний для повернення поточного екземпляра класу
- це в Java є посиланням на поточний об'єкт, метод якого викликається.
- Ви можете використовувати ключове слово "this", щоб уникнути конфліктів імен у методі / конструкторі вашого екземпляра / об'єкта.