Ръководство за тази ключова дума за Java

1. Въведение

В този урок ще разгледаме тази ключова дума Java.

В Java тази ключова дума е препратка към текущия обект, чийто метод се извиква .

Нека да проучим как и кога можем да използваме ключовата дума.

2. Многозначно засенчване на полето

Ключовата дума е полезна за еднозначно определяне на променливи от локални параметри . Най-честата причина е, когато имаме параметри на конструктора със същото име като полетата на екземпляра:

public class KeywordTest { private String name; private int age; public KeywordTest(String name, int age) { this.name = name; this.age = age; } }

Както виждаме тук, използваме това с полетата за име и възраст - за да ги различим от параметрите.

Друга употреба е да се използва това с параметъра скриване или скриване в локалния обхват. Пример за употреба може да се намери в статията за скриване на променливи и методи.

3. Конструктори за референции от същия клас

От конструктор можем да използваме this (), за да извикаме различен конструктор от същия клас . Тук използваме този () за веригата на конструктора, за да намалим използването на кода.

Най-често използваният случай е да се извика конструктор по подразбиране от параметризирания конструктор:

public KeywordTest(String name, int age) { this(); // the rest of the code }

Или можем да извикаме параметризирания конструктор от конструктора no argument и да предадем някои аргументи:

public KeywordTest() { this("John", 27); }

Имайте предвид, че this () трябва да бъде първият израз в конструктора, в противен случай ще възникне грешка при компилацията.

4. Предаване на това като параметър

Тук имаме метод printInstance () , където е дефиниран този аргумент на ключова дума :

public KeywordTest() { printInstance(this); } public void printInstance(KeywordTest thisKeyword) { System.out.println(thisKeyword); }

Вътре в конструктора извикваме метода printInstance () . С това предаваме препратка към текущия екземпляр.

5. Връщане на това

Също така можем да използваме тази ключова дума, за да върнем текущия екземпляр на клас от метода.

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

6. Тази ключова дума в рамките на вътрешния клас

Също така използваме това за достъп до екземпляра на външния клас от вътрешния клас:

public class KeywordTest { private String name; class ThisInnerClass { boolean isInnerClass = true; public ThisInnerClass() { KeywordTest thisKeyword = KeywordTest.this; String outerString = KeywordTest.this.name; } } }

Тук, в конструктора, ние можем да получите препратка към KeywordTest инстанция с KeywordTest.this обаждането . Можем да отидем още по-дълбоко и да осъществим достъп до променливите на екземпляра, като полето KeywordTest.this.name .

7. Заключение

В тази статия разгледахме тази ключова дума в Java.

Както обикновено, пълният код е достъпен в Github.