Тази ключова дума в Java: Какво е & Как се използва с пример

Съдържание:

Anonim

Каква е тази ключова дума в Java?

тази ключова дума в Java е референтна променлива, която се отнася до текущия обект на метод или конструктор. Основната цел на използването на тази ключова дума в Java е да се премахне объркването между атрибутите на класа и параметрите, които имат еднакви имена.

Следват различни приложения на ключовата дума 'this' в Java:

  • Може да се използва за препращане на променлива на екземпляр от текущия клас
  • Може да се използва за извикване или иницииране на конструктор на текущ клас
  • Той може да бъде предаден като аргумент в извикването на метода
  • Той може да бъде предаден като аргумент в извикването на конструктора
  • Може да се използва за връщане на текущия екземпляр на класа

Щракнете тук, ако видеоклипът не е достъпен

Разберете ключовата дума „този“ с пример.

Java тази ключова дума Пример
  1. Клас : Акаунт за клас
  2. Променлива на инстанцията : a и b
  3. Метод Задаване на данни : За задаване на стойността за a и b.
  4. Метод Показване на данни : За показване на стойностите за a и b.
  5. Основен метод: където създаваме обект за клас акаунт и методите за извикване задават данни и показват данни.

Нека да компилираме и стартираме кода

Очакваният ни изход за A и B трябва да бъде инициализиран съответно до стойностите 2 и 3.

Но стойността е 0, защо? Нека разследва.

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

По време на изпълнение компилаторът е объркан. Дали "a" от лявата страна на назначения оператор е променливата на екземпляра или локалната променлива. Следователно, той не задава стойността на 'a' при извикване на данните от набора от методи.

Решението е ключовата дума "this"

Добавете едновременно „a“ и „b“ с Java тази ключова дума, последвана от оператор точка (.).

По време на изпълнение на кода, когато обект извиква метода 'setdata'. Ключовата дума 'this' се заменя с манипулатора на обекти "obj." (Вижте изображението по-долу).

Така че сега компилаторът знае,

  • 'A' от лявата страна е променлива на Instance.
  • Докато „а“ от дясната страна е локална променлива

Променливите се инициализират правилно и се показва очаквания изход.

Да предположим, че сте достатъчно интелигентни, за да изберете различни имена за вашата променлива и аргументи на метода.

Но този път създавате два обекта от класа, всеки от които извиква метода на зададените данни.

Как компилаторът ще определи дали трябва да работи върху променлива на екземпляр на обект 1 или обект 2.

Е, компилаторът имплицитно добавя променливата на екземпляра с ключовата дума "this" (изображение по-долу).

Така, че когато обект 1 извиква зададения метод за данни, променлива на екземпляр се добавя от неговата референтна променлива.

Докато обект 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", за да избегнете конфликти на имена в метода / конструктора на вашия екземпляр / обект.