tämä avainsana Java - kaikki mitä sinun tarvitsee tietää

Tämä artikkeli keskittyy tämän avainsanan käyttämiseen Java-käyttöjärjestelmässä. Se kertoo myös joitain tärkeitä faktoja tämän avainsanan käsittelemiseksi.

Tämä on avainsana, joka edustaa objektia menetelmässä tai konstruktoria. Se on pohjimmiltaan tottunutpoistaa sekaannuksen luokan määritteiden ja samannimisten parametrien välillä. Tässä artikkelissa kerron sinulle eri näkökohdat ja käyttötavat Tämä avainsana sisään .

Alla on aiheita, joita käsittelen tässä artikkelissa:





Joten, aloitetaan!

Mikä tämä avainsana on Javassa?

Tämä avainsana sisään edustaa virtaa . Sitä käytetään pääsemään muihin saman luokan jäseniin. Avulla Tämä avainsana, voit käyttää menetelmiä, kenttiä ja rakentajat samaan luokkaan luokassa.



Siirrytään nyt eteenpäin ja ymmärretään, mikä on tarve Tämä avainsana Java.

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

Tärkein motto käyttämällä tätä avainsanaa on erottaa muodollinen parametri ja luokan. Jos siinä tapauksessa luokan muodollinen parametri ja datajäsenet ovat samat, se johtaa epäselvyyteen. Joten luokan muodollisen parametrin ja tietojäsenen erottamiseksi luokan luokan jäsenestä on edeltävä Tämä ”Avainsana.

Pohjimmiltaan, 'Tämä' avainsanaa voidaan käyttää kahdella tavalla.



  1. Tämä.
  2. Tämä()

1. tämä.

Sitä voidaan käyttää erottamiseen ja menetelmän tai rakentajan muodolliset parametrit. Paitsi, että se osoittaa aina nykyisen luokan objektin. Syntaksi Tämä avainsana on seuraava:

Syntaksi

mikä on ero hashmapin ja hashtabelin välillä
tämän. nykyisen luokan tietojäsen

Huomautus: Jos on muuttujaa, jota edeltää 'Tämä', sitten JVM käsittelee kyseistä muuttujaa luokan muuttujana .

2. tämä ()

Sillä voidaan soittaa yhdelle rakentaja toisen sisällä luomatta objekteja useita kertoja samalle luokalle.

Syntaksi

this () // ei kutsuta parametrisoitua tai oletuskonstruktoria this (arvo1, arvo2, .....) // kutsu parametrisoitua konstruktoria

Nyt kun tiedät mikä on Tämä avainsana ja miksi sitä tarvitset, sukelkaamme syvemmälle tähän artikkeliin ja ymmärrämme eri näkökohdat Tämä avainsanaa voidaan käyttää Java .

Tämän avainsanan käyttö

Missä on 6 tapaa tämä avainsana voidaan käyttää Java. Ne ovat seuraavat:

  1. Käytetään kentän kanssa
  2. Käytetään rakentajan kutsumiseen
  3. Käytetään palauttamaan nykyinen luokan ilmentymä
  4. Käytetään menetelmäparametrina
  5. Käytetään nykyisen luokan menetelmän kutsumiseen
  6. Käytetään argumenttina konstruktorin kutsussa

Mennään nyt näiden menetelmien yksityiskohtiin.

1. tätä avainsanaa voidaan käyttää kentän / muuttujan piilottamisen kanssa

Tämä avainsana voi olla erittäin hyödyllistä Muuttuva piilotus . Täällä ei voi luoda kahta i samalla nimellä. On kuitenkin mahdollista luoda yksi esiintymämuuttuja ja yksi paikallinen muuttuja samalla nimellä. Tässä tapauksessa paikallinen muuttuja pystyy piilottamaan esiintymämuuttujan. Tätä kutsutaan Muuttuva piilotus . Ymmärretään nyt tämä yksityiskohtaisemmin esimerkin avulla.

package Edureka import java.util. * julkisen luokan kenttä {int j, n // Parametroitu konstruktorin testi (int j, int n) {this.j = j this.n = n} void display () {// Näytetään arvon muuttujat j ja n System.out.println ('j =' + j + 'n =' + n)} public static void main (String [] args) {field obj = new field (27, 01) obj.display ( )}}

Tuotos:

j = 27 n = 01

Yllä olevassa esimerkissä muodolliset argumentit ja esiintymämuuttujat ovat samat. Siksi olen käyttänyt näiden muuttujien erottamiseksi toisistaan t hänen avainsana paikallisten muuttujien tuottamiseksi. Joten kyse oli muuttujan piilosta.

Katsotaan nyt miten Tämä Java-avainsanaa voidaan käyttää rakentajan kutsumiseen.

2. tätä avainsanaa voidaan käyttää rakentajan kutsumiseen

tämä () konstruktorin kutsu voidaan käyttää nykyisen luokan konstruktorin soittamiseen. Sitä voidaan käyttää myös rakentajan uudelleenkäyttöön. Voit kutsua tätä tekniikkaa myös nimellä rakentajan ketjutus . Otetaan pieni esimerkki ja ymmärretään miten Tämä() käytetään.

package Edureka import java.util. * public class Esimerkki {{int j, n // Oletusrakentajaesimerkki () {this (27, 01) System.out.println ('Inside default constructor n')} // Parametroitu konstruktoriesimerkki (int j, int n) {this.j = j this.n = n System.out.println ('Inside parameterized constructor')} public static void main (String [] args) {Esimerkki obj = uusi esimerkki ()} }

Tuotos:

Sisällä parametrisoitu konstruktori Sisällä oletusrakentaja

Yllä olevasta esimerkistä näet, että Tämä ”Avainsanaa käytetään ylikuormitetun rakentajan kutsumiseen samassa .

kaksinkertainen intiin java

3. tätä avainsanaa voidaan käyttää palauttamaan nykyinen luokan ilmentymä

Täällä voit palata Tämä avainsana lauseena menetelmästä. Tässä tapauksessa menetelmän palautustyypin on oltava luokan tyyppi. Ymmärretään tämä esimerkin avulla.

julkinen luokka Edureka {int j, int n // Oletusrakentaja Edureka () {j = 100 n = 200} // Menetelmä, joka palauttaa nykyisen luokan esiintymän Edureka get () {return this} // Muuttujien j ja n void näyttäminen display () {System.out.println ('j =' + j + 'n =' + n)} public static void main (String [] argumentit) {Edureka obj = uusi Edureka () obj.get (). ()}}

Tuotos:

j = 100, n = 200

4. tätä avainsanaa voidaan käyttää menetelmäparametrina

Tämä avainsanaa voidaan käyttää menetelmän sisällä, jotta voidaan kutsua toinen menetelmä samasta luokasta. Seuraava esimerkki osoittaa saman.

julkinen luokka Edureka {int j, n // Oletusrakentaja Edureka () {j = 100 n = 200} // Menetelmä, joka vastaanottaa 'tämän' avainsanan parametrina void display (Edureka obj) {System.out.println ('j = '+ j +' n = '+ n)} // Menetelmä, joka palauttaa nykyisen luokan esiintymän void get () {display (this)} public static void main (String [] args) {Edureka obj = new Edureka () obj. saada() } }

Tuotos:

j = 100, n = 200

5. tätä avainsanaa käytettiin nykyisenä luokkamenetelmänä

Tämä avainsanaa voidaan käyttää nykyisen luokan menetelmän kutsumiseen. Ymmärretään tämä esimerkin avulla.

häpyluokka Edureka {void display () {// soittaminen fuction show () this.show () System.out.println ('Inside display function')} void show () {System.out.println ('Inside show funcion' )} public static void main (String args []) {Edureka j = uusi Edureka () j.display ()}}

Tuotos:

Inside show funcion Sisäisen näytön toiminto

6. tätä avainsanaa käytetään argumenttina konstruktorin kutsussa

Voit ohittaa Tämä avainsana myös konstruktorissa. Se on hyödyllinen, jos joudut käyttämään sellaista useissa luokissa. Ymmärretään nyt sama esimerkin avulla.

julkinen luokka Y {X obj // Parametroitu konstruktori, jonka parametrina Y // on parametri Y (X obj) {this.obj = obj // luokan X kutsuva näyttötapa obj.display ()}} luokka X {int x = 45 // Oletusohjain, joka luo Y: n objektin // välittämällä tämän argumenttina // konstruktori X: ssä () {Y obj = new Y (this)} // method to show x void display () {System.out.println ('X: n arvo luokassa X:' + x)} public static void main (String [] argumentit) {X obj = new X ()}}

Tuotos :

X: n arvo luokassa X: 45

Joten näin voit käyttää Tämä avainsana argumenttina konstruktorin kutsussa. Siinä oli kyse eri käyttötarkoituksista Tämä avainsana Java. Katsotaan nyt joitain tärkeitä käytön tekijöitä tämä avainsana .

Tämän avainsanan tärkeät tekijät:

  1. Et voi käyttää super- ja Tämä avainsana a staattinen menetelmä ja staattisessa alustuslohkossa, vaikka viittaat staattisiin jäseniin.

    cloudera-sertifioitu järjestelmänvalvoja apache hadoopille
  2. Sinun pitäisi soittaa super () ja Tämä() kutsumalla lauseita vain rakentajien sisällä, ja niiden on oltava ensimmäinen lause konstruktoreissa.

Tämä tuo meidät artikkelin loppuun Tämä avainsana Java. Toivon, että pidit siitä informatiivisena.

Katso Edureka, luotettava verkko-oppimisyritys, jolla on yli 250 000 tyytyväisen oppijan verkosto, joka levisi ympäri maailmaa. Olemme täällä auttaaksemme sinua matkasi jokaisessa vaiheessa, jotta tulemme tämän java-haastattelukysymyksen lisäksi, keksimme opetussuunnitelman, joka on tarkoitettu opiskelijoille ja ammattilaisille, jotka haluavat olla Java-kehittäjiä.

Onko sinulla kysymys meille? Mainitse se tämän 'tämä avainsana Java-ohjelmassa' -kommenttiosassa ja otamme sinuun yhteyttä mahdollisimman pian.