тази ключова дума в Java
В какво е тази ключова дума Java?
тази ключова дума в Java е референтна променлива, която препраща към текущия обект на метод или конструктор. Основната цел на използването на тази ключова дума в Java е да се премахне объркването между атрибути на клас и параметри, които имат еднакви имена.
Използването на тази ключова дума в Java
Следват различни употреби на ключовата дума „this“ в Java:
- Може да се използва за препращане към променлива на екземпляр на текущия клас
- Може да се използва за извикване или иницииране на текущия конструктор на клас
- Може да бъде подаден като аргумент в извикването на метода
- Може да се предава като аргумент в извикването на конструктора
- Може да се използва за връщане на текущия клас
Кликнете тук ако видеото не е достъпно
Разберете „тази“ ключова дума с пример.
- клас: клас акаунт
- Променлива на екземпляра: а и б
- Метод Задайте данни: За да зададете стойността за a и b.
- Метод Показване на данни: За показване на стойностите за a и b.
- Основен метод: където създаваме обект за клас Account и извикваме методи set data и show data.
Нека компилираме и стартираме кода
Нашият очакван изход за A и B трябва да се инициализира съответно на стойностите 2 и 3.
Но стойността е 0, защо? Нека разследваме.
В метода Set data аргументите се декларират като a и b, докато променливите на екземпляра също се именуват като a и b.
По време на изпълнението компилаторът е объркан. Дали „a“ от лявата страна на присвоения оператор е променливата на екземпляра или локалната променлива. Следователно, той не задава стойността на 'a', когато се извиква набор от данни на метода.
Решението е ключовата дума „това“.
Добавете и „a“, и „b“ с Java тази ключова дума, последвана от оператор точка (.).
По време на изпълнение на код, когато обект извиква метода „setdata“. Ключовата дума 'this' се заменя с манипулатора на обекта "obj." (Вижте изображението по-долу).
Така че сега компилаторът знае,
- „А“ от лявата страна е променлива на екземпляр.
- Докато "а" от дясната страна е локална променлива
- променливи се инициализират правилно и се показва очакваният резултат.
Да предположим, че сте достатъчно умни, за да изберете различни имена за променливата на вашия екземпляр и аргументите на методите.
Но този път създавате два обекта от класа, като всеки извиква метода за набор от данни.
Как компилаторът ще определи дали трябва да работи върху променлива на екземпляр на обект 1 или обект 2.
Е, компилаторът имплицитно добавя променливата на екземпляра с ключова дума „this“ (изображение по-долу).
Така, че когато обект 1 извиква метода за набор от данни, променлива на екземпляр се добавя от нейната референтна променлива.
Докато обект 2 извиква метода за набор от данни, променлива на екземпляр на обект 2 се променя.
Този процес се поема от самия компилатор. Не е необходимо да добавяте изрично „тази“ ключова дума, освен ако няма изключителна ситуация, както в нашия пример.
тази ключова дума в Java с Пример
Пример: За да научите използването на ключова дума „тази“.
Стъпка 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.a =a; this.b =b;
Стъпка 4) Запазете, компилирайте и стартирайте кода. Този път стойностите на a и b са зададени съответно на 2 и 3.
Oбобщение
- това Ключова дума в Java е референтна променлива, която препраща към текущия обект.
- Една от употребата на тази ключова дума в Java е да препраща променливата на екземпляра на текущия клас
- Може да се използва за извикване или иницииране на текущия конструктор на клас
- Може да бъде подаден като аргумент в извикването на метода
- този показалец в Java може да се предава като аргумент в извикването на конструктора
- този оператор в Java може да се използва за връщане на текущия клас
- това в Java е препратка към текущия обект, чийто метод се извиква.
- Можете да използвате ключовата дума „this“, за да избегнете конфликти при именуване в метода/конструктора на вашия екземпляр/обект.
Вижте нашата статия за Java Въпроси за интервю: - Натисни тук