Sprievodca týmto kľúčovým slovom Java

1. Úvod

V tomto návode pozrieme sa na toto Kľúčové slovo Java.

V Jave toto kľúčové slovo je odkaz na aktuálny objekt, ktorého metóda sa volá.

Poďme preskúmať, ako a kedy môžeme kľúčové slovo použiť.

2. Rozlišovanie tieňovania polí

Kľúčové slovo je užitočné na disambiguáciu inštančných premenných z miestnych parametrov. Najbežnejším dôvodom je, keď máme parametre konštruktora s rovnakým názvom ako polia inštancií:

verejná trieda KeywordTest {súkromné ​​meno reťazca; súkromný int vek; publicTest kľúčového slova (názov reťazca, vek) {this.name = meno; this.age = vek; }}

Ako vidíme tu, používame toto s názov a Vek inštančné polia - na odlíšenie od parametrov.

Ďalším využitím je použitie toto s parametrom skrytia alebo tieňovania v lokálnom rozsahu. Príklad použitia nájdete v článku Premenná a skrývanie metód.

3. Odkazy na konštruktérov rovnakej triedy

Od konštruktéra môžeme použiť toto () zavolať iného konštruktéra rovnakej triedy. Tu používame toto () pre reťazenie konštruktéra, aby sa znížilo využitie kódu.

Najbežnejším prípadom použitia je volanie predvoleného konštruktora z parametrizovaného konštruktora:

verejnyTest klucoveho slova (nazov retazca, int vek) {this (); // zvyšok kódu}

Alebo môžeme zavolať parametrizovaný konštruktor z konštruktora bez argumentov a odovzdať niekoľko argumentov:

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

Poznač si to toto () by mal byť prvým príkazom v konštruktore, inak dôjde k chybe kompilácie.

4. Prihrávka toto ako parameter

Tu máme printInstance () metóda, kde toto kľúčové slovo argument je definovaný:

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

Vo vnútri konštruktora vyvoláme printInstance () metóda. S toto, odovzdáme odkaz na aktuálnu inštanciu.

5. Návrat toto

Môžeme tiež použiť toto kľúčové slovo vráti aktuálnu inštanciu triedy z metódy.

Aby ste duplikovali kód, tu je úplný praktický príklad toho, ako je implementovaný v návrhovom vzore staviteľa.

6. toto Kľúčové slovo v rámci vnútornej triedy

Tiež používame toto na prístup k inštancii vonkajšej triedy z vnútornej triedy:

verejná trieda KeywordTest {súkromné ​​meno reťazca; trieda ThisInnerClass {boolean isInnerClass = true; public ThisInnerClass () {KeywordTest thisKeyword = KeywordTest.this; Reťazec vonkajšíString = Kľúčové slovoTest.toto meno; }}}

Tu, vo vnútri konštruktora, môžeme získať odkaz na Test kľúčových slov napríklad s Kľúčové slovoTest.to hovor. Môžeme ísť ešte hlbšie a získať prístup k premenným inštancie ako Skúška na kľúčové slovo.toto.názov lúka.

7. Záver

V tomto článku sme preskúmali toto kľúčové slovo v Jave.

Celý kód je ako obvykle k dispozícii na stránkach Github.


$config[zx-auto] not found$config[zx-overlay] not found