Čo je toto kľúčové slovo v jazyku Java?

Java je objektovo orientovaný jazyk a môže byť prítomných veľa objektov naraz. Na tých, ktoré by sme mohli prevádzkovať, sa na obrázku objaví toto kľúčové slovo, pretože pomáha nasmerovať aktuálnu inštanciu alebo aktuálny objekt triedy.

Preto, keď hľadáme na vyvolanie metód aktuálnej triedy, keď chceme vyvolať konštruktor aktuálnej triedy, vráťte aktuálnu inštanciu z metód, odovzdajte súčasnú inštanciu metódam; vo všetkých týchto prípadoch sa toto kľúčové slovo hodí.

Príklady použitia

  1. Synchronizovaný blok vo viacerých vláknach používa toto kľúčové slovo ako argument
  2. Preťaženie konštruktora

Prečo používať toto kľúčové slovo v jazyku Java?

  • „táto“ premenná funguje ako konečná premenná v jave, tj nemôžeme priradiť žiadnu hodnotu k tejto „premennej“, to je možné krížovo skontrolovať priradením hodnoty k „tomuto“ kľúčovému slovu, čo povedie k chybe pri kompilácii.
  • 'this' sa dá použiť aj na odkazovanie statických členov (ale to sa nestane), pretože statické prvky sa deklarujú iba raz, tj pridelenie pamäte, ktoré sa im urobí, je iba raz a ak sa pokúsime manipulovať pomocou tohto kľúčového slova, bude vždy manipulovať s údajmi umiestnenými na tomto pamäťovom mieste, a nie vytvárať údaje na nových pamäťových miestach, ktoré objekty robia.
  • Tým sa zabráni zbytočnému priradeniu premenných a niekedy nemusíme vytvárať ďalšie premenné. Kľúčové slovo „toto“ všade, kde sa používa, nám dáva záruku, že sa odkazuje na túto inštanciu.

Dôležitosť tohto kľúčového slova

Nižšie uvedené príklady ukazujú, že pre určité vlastnosti musíme vytvoriť premenné s rôznymi názvami, ktoré je možné jednoducho pri konštrukcii objektu pri inicializácii objektu pomocou tohto kľúčového slova priradiť.

  • Zabraňuje konfliktu členských premenných a názvov lokálnych premenných, pomocou tohto kľúčového slova je možné referencovať členskú premennú.

public class Student (
int marks;
String subjectName;
//constructor
public Student(int marks, String subjectName)
(
this.marks = marks;
this.subjectName=subjectName;
)
public Student()
(
)
public static void main(String args())
(
Student s = new Student(1, "name");
)
)

  • Metódy triedy objektov môžu byť tiež vyvolané pomocou tohto.

//consider a method shown here
public String getName()
(
return this.toString();
)

  • To možno použiť v metódach setter a getter na vrátenie aktuálnych inštancií.

Public int getmarks()
(
return this.marks;
)
public void setMarks(int marks)
(
this.marks =marks;
)

Konkrétne použitia tohto kľúčového slova

Tu je niekoľko príkladov použitia tohto kľúčového slova s ​​implementáciou:

1. Použite v poli

public class PointCoordinates (
public int xval = 0;
public int yval = 0;
//constructor
public PointCoordinates (int a, int b) (
xval = a;
yval = b;
)
public static void main(String args())
(
)
)

Mohlo to však byť napísané takto:

public class PointCoordinates (
public int xval = 0;
public int yval= 0;
//constructor
public PointCoordinates (int xval, int yval) (
this.xval = xval;
this.yval = yval;
)
public static void main(String args())
(
)
)

To bolo niečo, čo sme vysvetlili aj v poslednej časti, kde je zrejmé, že konvencie pomenovávania pre jeden druh dátového poľa sa môžu zachovať jednotné, ak použijeme kľúčové slovo „toto“.

Preto vývojár nemá sledovať ani mapovať graf premenných pre ten istý druh logického dátového poľa.

2. Vyvolanie konštruktora pomocou tohto kľúčového slova

Toto kľúčové slovo môžeme použiť vo vnútri konštruktora a odtiaľ zavolať iného konštruktora v rovnakej triede. Toto sa tiež nazýva výslovné vyvolanie konštruktora.

Uvažujme príklad uvedený nižšie -

public class Square (
private int x;
private int side;
public Square () (
this(1);
)
public Square (int side) (
this(0, side);
)
public Square (int x, int side) (
this.x = x;
this.side = side;
)
public static void main(String args())
(
)
)

Na obrázku sú tri konštruktory. Upozorňujeme, že predvolený konštruktor by sa mal explicitne umiestniť, keď robíme preťaženie konštruktora.

Tieto konštruktory inicializujú niektoré členské premenné, kompilátor tu získava indikáciu o vyvolaní konštruktora pomocou počtu parametrov použitých vo vnútri metód.

3. Vracanie aktuálnej inštancie triedy pomocou tohto kľúčového slova

class Rectangle
(
int height;
int width;
Rectangle()
(
height = 10;
width = 20;
)
//Method to return current class instance
Rectangle getObject()
(
return this;
)
public void print()
(
System.out.println(height+", "+ width);
)
public static void main(String() args)
(
Rectangle object = new Rectangle();
object.getObject().print();
)
)

Vo vyššie uvedenom príklade je teda zrejmé, že aktuálny objekt sa vracia z getterovej metódy a v tomto prípade bola vyvolaná konkrétna metóda „print“.

4. Použite ako parameter

class Rectangle
(
int height;
int width;
Rectangle()
(
height = 10;
width = 20;
)
void getObject()
(
print(this);
)
public void print(Rectangle object)
(
System.out.println(object.height + ", " + object.width);
)
public static void main(String() args)
(
Rectangle object = new Rectangle();
object.getObject();
)
)

V príklade sa uvádza, ako sa aktuálny objekt odovzdáva metóde, ktorá môže tento objekt použiť na vlastné použitie.

záver

Videli sme tu rôzne prípady použitia, pričom sme citovali varianty proti použitiu tohto kľúčového slova v jave a kde ich používať a kde ich nepoužiť. Tieto podmienky boli stanovené výslovne.
„toto“ kľúčové slovo je bežné vo všetkých programovacích jazykoch, v rámcoch založených na javascripte „toto“ nájde kľúčovú úlohu.
„toto“ kľúčové slovo sa môže stať režijným, ak nebude dobre známe, a ak je správne pochopené, je veľkou pomocou pre vývojárov.

Odporúčané články

Toto je sprievodca po tomto kľúčovom slove v jazyku Java. Tu diskutujeme dôležitosť, konkrétne použitia a príklady tohto kľúčového slova v jave spolu s jeho implementáciou kódu. Viac informácií nájdete aj v nasledujúcich článkoch

  1. Objekt v Jave
  2. Zapuzdrenie do JavaScriptu
  3. Statické kľúčové slovo v jazyku Java
  4. Preťaženie a prekonanie v Jave
  5. Funkcia a pravidlá zrušenia v Pythone

Kategórie: