Mikä on tämä avainsana Javassa?

Java on oliokeskeinen kieli ja kerralla voi olla useita objekteja, niissä, joita voisimme käyttää, "tämä" avainsana tulee tähän kuvaan, koska se auttaa osoittamaan luokan nykyisen esiintymän tai nykyisen objektin.

Siksi, kun tarkastelemme nykyisen luokan menetelmiä, kun haluamme vedota nykyisen luokan rakentajaan, palauttaa nykyinen esiintymä menetelmistä, siirtää nykyinen esiintymä menetelmille; kaikissa näissä tapauksissa tämä avainsana on kätevä.

Esimerkkejä käyttötapauksista

  1. Synkronoitu monisäikeinen lohko käyttää tätä avainsanaa argumenttina
  2. Rakentajan ylikuormitus

Miksi käyttää tätä avainsanaa Javassa?

  • 'tämä' muuttuja toimii lopullisena muuttujana Java-järjestelmässä, ts. emme voi antaa mitään arvoa 'tälle' muuttujalle, tämä voidaan ristiintarkistaa määrittämällä arvo 'tälle' avainsanalle ja se johtaa käännösvirheeseen.
  • 'Tätä' voidaan käyttää myös staattisten jäsenten viittaamiseen (mutta sitä ei pidä tehdä), koska staattiset jäsenet julistetaan vain kerran, ts. heille suoritettu muistivaraus on vain kerran ja jos yritämme tehdä manipulaatioita käyttämällä tätä "avainsanaa", niin se käsittelee aina kyseiseen muistipaikkaan sijoitettua tietoa sen sijaan, että luodaan tietoja uusiin muistipaikkoihin, mitä esineet tekevät.
  • Tämä estää tehtävää tehdä tarpeettomia määrityksiä muuttujille, ja toisinaan meidän ei tarvitse myöskään luoda ylimääräisiä muuttujia, "tämä" avainsana missä tahansa käytetään, antaa meille varmuuden siitä, että nykyiseen esiintymään viitataan.

Tämän avainsanan merkitys

Alla olevat esimerkit osoittavat, että joudumme luomaan muuttujia eri nimillä tietyille ominaisuuksille. Ne voidaan yksinkertaisesti osoittaa rakentajassa objektin alustuksen aikana tätä avainsanaa käyttämällä.

  • Estää jäsenmuuttujan ja paikallisen muuttujan nimiristiriidat. Jäsenmuuttujaan voidaan viitata tällä avainsanalla.

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

  • Tämän avulla voidaan vedota myös objektiluokan menetelmiin.

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

  • Tätä voidaan käyttää setter- ja getter-menetelmissä nykyisten esiintymien palauttamiseksi.

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

Tämän avainsanan erityiset käyttötavat

Tässä on joitain tämän avainsanan käyttötarkoituksia, jotka on selitetty alla ja toteutukset:

1. Käytä kenttään

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

Mutta se olisi voinut kirjoittaa näin:

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

Joten tämä selitettiin myös viimeisessä osassa, jossa voidaan nähdä, että yhden tyyppisen tietokentän nimeämiskäytännöt voidaan pitää yhtenäisinä, jos käytämme 'tätä' avainsanaa.

Siksi kehittäjän ei ole tarkoitus seurata tai kartoittaa muuttujakaaviota samanlaista loogista tietokenttää varten.

2. Rakentajan kutsu tämän avainsanan avulla

Voimme käyttää tätä avainsanaa rakentajan sisällä ja kutsua toista rakentajaa samasta luokasta. Tätä kutsutaan myös nimenomaiseksi konstruktorin kutsumiseksi.

Tarkastellaan alla olevaa esimerkkiä samalle -

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

Kuvassa on kolme rakentajaa. Huomaa, että oletuskonstruktori on tarkoitus sijoittaa nimenomaisesti, kun teemme konstruktorin ylikuormitusta.

Nämä rakentajat alustavat joitain jäsenmuuttujia, kääntäjä saa täältä ilmoituksen rakentajan kutsumisesta menetelmien sisällä käytettyjen parametrien lukumäärän kautta.

3. Nykyisen luokan esiintymän palauttaminen tällä avainsanalla

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

Joten yllä esitetyssä esimerkissä voidaan nähdä, että nykyinen objekti palautetaan getter-menetelmästä ja siinä tapauksessa kyseinen menetelmä “print” on vedottu.

4. Käytä menetelmäparametrina

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

Esimerkissä mainittiin, miten nykyinen objekti siirretään menetelmälle, joka voi käyttää tätä objektia mukautettuun käyttöön.

johtopäätös

Näimme täällä erilaisia ​​käyttötapauksia, joissa vedottiin variantteihin tämän avainsanan käytön vastaista javaa vastaan ​​ja missä käyttö- ja mihin ei pidä käyttää, nämä ehdot on asetettu selkeästi.
'tämä' avainsana on yleinen kaikissa ohjelmointikielissä, myös javascript-pohjaisissa kehyksissä, 'tämä' löytää avainaseman.
"Tämä" avainsana voi tulla yläpuolelle, jos sitä ei ymmärretä hyvin, ja se on suureksi avuksi kehittäjille, jos sitä ymmärretään oikein.

Suositellut artikkelit

Tämä on opas tälle avainsanalle Java-kielellä. Keskustelemme tässä Java-avainsanan tärkeydestä, erityiskäytöistä ja esimerkkeistä sen koodin toteutuksen kanssa. Voit myös katsoa seuraavia artikkeleita saadaksesi lisätietoja-

  1. Objekti Java
  2. Kapselointi JavaScriptiin
  3. Staattinen avainsana Java
  4. Ylikuormitus ja ohittaminen Java-järjestelmässä
  5. Ohitusten toiminta ja säännöt Pythonissa