Kaj je ta ključna beseda v Javi?

Java je objektno orientiran jezik in naenkrat je lahko prisotnih veliko predmetov, pri tistih, s katerimi bi lahko delovali, na sliki pride "ta" ključna beseda, ker pomaga kazati trenutni primerek ali trenutni predmet razreda.

Torej, ko se želimo sklicevati na metode trenutnega razreda, ko želimo poklicati konstruktor trenutnega razreda, vrniti trenutni primerek iz metod, posredovati trenutni primerek metodam; v vseh teh primerih je ta ključna beseda primerna.

Primer uporabe primerov

  1. Sinhronizirani blok v večserijskem branju uporablja to ključno besedo kot argument
  2. Preobremenitev konstruktorja

Zakaj uporabljati to ključno besedo v Javi?

  • spremenljivka 'this' deluje kot končna spremenljivka v javi, tj. spremenljivki 'this' ne moremo dodeliti nobene vrednosti, to lahko navzkrižno preverimo z dodelitvijo vrednosti ključni besedi 'this' in vodi v napako pri sestavljanju.
  • 'to' se lahko uporablja tudi za sklicevanje na statične člane (vendar to ne bo storjeno), ker so statični člani objavljeni samo enkrat, tj. dodelitev pomnilnika, ki jim je narejena, je samo enkrat in če poskušamo izvesti manipulacije s ključno besedo 'this', potem bodo vedno manipulirali s podatki, nameščenimi na tem pomnilniškem mestu, namesto da bi ustvarjali podatke na novih pomnilniških mestih, kar počnejo predmeti.
  • To preprečuje nalogo, da naredimo nepotrebne dodelitve spremenljivkam, včasih pa tudi ne potrebujemo ustvarjanja dodatnih spremenljivk, "ta" ključna beseda, kjer koli jo uporabljamo, nam zagotavlja zanesljivost, na katero se nanaša trenutni primerek.

Pomen te ključne besede

Spodnji primeri kažejo, da moramo ustvariti spremenljivke z različnimi imeni za posamezne lastnosti, ki jih lahko preprosto dodelimo v konstruktorju med inicializacijo predmeta s to ključno besedo.

  • Preprečuje navzkrižje imena spremenljivke člana in lokalno spremenljivko, lahko s to ključno besedo napoti spremenljivko člana.

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");
)
)

  • S tem lahko prikličete tudi metode predmetnega razreda.

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

  • To lahko uporabite v metodah setter in getter za vrnitev trenutnih primerkov.

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

Posebne uporabe te ključne besede

Spodaj je opisanih nekaj načinov uporabe te ključne besede pri izvajanju:

1. Uporabite polje Brez v polju

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())
(
)
)

Lahko pa bi napisali takole:

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 je bilo nekaj, kar smo razložili tudi v zadnjem razdelku, kjer je razvidno, da lahko poimenovanja konvencij o poimenovanju za eno vrsto podatkovnega polja ostanemo enotna, če uporabljamo ključno besedo 'to'.

Zato razvijalec ne bi smel slediti ali preslikati grafikona spremenljivk za isto vrsto logičnega podatkovnega polja.

2. Poziv konstruktorja s to ključno besedo

To ključno besedo lahko uporabimo znotraj konstruktorja in pokličemo drugega konstruktorja od tam v istem razredu. Temu pravimo tudi izrecni priklic konstruktorja.

Razmislimo o spodnjih primerih za isto -

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())
(
)
)

Tu so na sliki trije konstruktorji. Upoštevajte, da naj bi privzeti konstruktor postavil izrecno, ko delamo konstruktorjeve preobremenitve.

Ti konstruktorji inicializirajo nekatere spremenljivke članov, prevajalnik tukaj dobi priklic konstrukcije prek števila parametrov, uporabljenih znotraj metod.

3. Vračanje trenutnega primerka razreda s to ključno besedo

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();
)
)

Torej, v zgornjem primeru je razvidno, da se trenutni predmet vrača iz metode getter in v tem primeru se prikliče določena metoda "print".

4. Uporabite kot parameter parametra

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();
)
)

Primer je navajal, kako se trenutni objekt posreduje metodi, ki lahko ta objekt uporabi za njegovo uporabo po meri.

Zaključek

Tu smo videli različne primere uporabe, pri čemer navajamo različice uporabe te ključne besede v javi in ​​kje in kje ne, ti pogoji so bili izrecno postavljeni.
Ključna beseda "ta" je običajna med vsemi programskimi jeziki, tudi v okvirih, ki temeljijo na javascriptu, "to" najde ključno vlogo.
Ključna beseda 'ta' lahko postane prevelika, če je ne razumemo dobro, razvijalcem pa je, če jo razumejo pravilno, v veliko pomoč.

Priporočeni članki

To je vodnik za to ključno besedo v javi. Tukaj razpravljamo o pomembnosti, posebni uporabi in primerih te ključne besede v Javi, skupaj z njeno implementacijo kode. Če želite izvedeti več, si oglejte tudi naslednje članke -

  1. Objekt v Javi
  2. Kapsulacija v JavaScript
  3. Statična ključna beseda v Javi
  4. Preobremenitev in preglasitev na Javi
  5. Funkcija in pravila preglasitve v Pythonu