dette er et nøgleord, der repræsenterer et objekt i en metode eller en konstruktør. Det er dybest set vant tileliminere forvekslingen mellem klasseattributter og parametre med samme navn. I denne artikel vil jeg fortælle dig de forskellige aspekter og anvendelser af dette nøgleord i .
Nedenfor er de emner, som jeg vil dække i denne artikel:
- Hvad er dette nøgleord i Java?
- Hvorfor bruge dette nøgleord i Java?
- Anvendelse af dette nøgleord i Java
- Vigtige faktorer for dette nøgleord
Hvad er dette nøgleord i Java?
dette nøgleord i repræsenterer strømmen . Det bruges hovedsageligt til at få adgang til andre medlemmer af samme klasse. Med hjælp fra dette nøgleord, kan du få adgang til metoder, felter og konstruktører af samme klasse inden for klassen.
Lad os nu gå videre og forstå, hvad der er behov for dette nøgleord i Java.
Hvorfor bruge dette nøgleord i Java?
Hovedmottoet for ved hjælp af dette nøgleord er at differentiere den formelle parameter og af klassen. I tilfælde af at den formelle parameter og datamedlemmer i klassen er de samme, fører det til tvetydighed. For at skelne mellem formel parameter og datamedlem i klassen, skal datamedlemmet i klassen forud for ' dette ”Nøgleord.
matrix multiplikationsprogram i java
I bund og grund, 'dette' nøgleord kan bruges på to måder.
dette.
dette()
1. dette.
Det kan bruges til at differentiere og formelle parametre for metode eller konstruktør. Ikke kun det, det peger altid på det aktuelle klasseobjekt. Syntaks for dette nøgleord er som vist nedenfor:
Syntaks
this.data-medlem af den nuværende klasse
Bemærk: Hvis der er nogen variabel, der er forud for 'dette', derefter behandler JVM denne variabel som en klassevariabel .
2. dette ()
Det kan bruges til at ringe til en Bygger inden for en anden uden at oprette objekter flere gange for den samme klasse.
Syntaks
denne () // kalder ingen parametriserede eller standardkonstruktører dette (værdi1, værdi2, .....) // kald parametriserede konstruktør
Nu hvor du ved hvad der er dette nøgleord, og hvorfor har du brug for det, lad os dybere dybere ned i denne artikel og forstå de forskellige aspekter, hvor dette nøgleord kan bruges i Java .
Anvendelse af dette nøgleord
Der er 6 måder, hvor dette nøgleord kan bruges i Java. De er som følger:
- Brugt med et felt
- Bruges til at påkalde en konstruktør
- Bruges til at returnere den aktuelle klasseinstans
- Bruges som en metodeparameter
- Bruges til at påkalde en nuværende klassemetode
- Brugt som argument i konstruktøropkaldet
Lad os nu komme ind i detaljerne i hver af disse metoder.
1. dette nøgleord kan bruges med et felt / Variabel skjulning
dette nøgleord kan være meget nyttigt i Variabel skjulning . Her kan du ikke oprette to i med samme navn. Det er dog muligt at oprette en instansvariabel og en lokal variabel med samme navn. I dette tilfælde vil den lokale variabel være i stand til at skjule instansvariablen. Dette kaldes Variabel skjulning . Lad os nu forstå dette mere detaljeret ved hjælp af et eksempel.
pakke Edureka import java.util. * offentligt klassefelt {int j, n // Parameteriseret konstruktortest (int j, int n) {this.j = j this.n = n} ugyldigt display () {// Visningsværdi af variabler j og n System.out.println ('j =' + j + 'n =' + n)} offentlig statisk ugyldig hoved (String [] args) {felt obj = nyt felt (27, 01) obj.display ( )}}
Produktion:
j = 27 n = 01
I ovenstående eksempel er formelle argumenter og instansvariabler de samme. Derfor har jeg brugt for at skelne mellem disse variabler t hans nøgleord til output af de lokale variabler. Så alt handlede om den variable skjulning.
Lad os nu se hvordan dette nøgleord i Java kan bruges til at påkalde en konstruktør.
2. dette nøgleord kan bruges til at påkalde en konstruktør
dette () konstruktøropkald kan bruges til at kalde den aktuelle klassekonstruktør. Det kan også bruges til at genbruge konstruktøren. Du kan også kalde denne teknik som konstruktorkæde . Lad os tage et lille eksempel og forstå hvordan dette() anvendes.
pakke Edureka import java.util. * offentlig klasse Eksempel {{int j, n // Standardkonstruktøreksempel () {dette (27, 01) System.out.println ('Inde standardkonstruktør n')} // Parameteriseret konstruktøreksempel (int j, int n) {this.j = j this.n = n System.out.println ('Inside parameterised constructor')} offentlig statisk ugyldig main (String [] args) {Eksempel obj = nyt eksempel ()} }
Produktion:
Java Developer løn i Indien
Inde parametreret konstruktør Inde standard konstruktør
I eksemplet ovenfor kan du se, at “ dette ”Nøgleord bruges til at påkalde en overbelastet konstruktør i det samme .
3. dette nøgleord kan bruges til at returnere den aktuelle klasseinstans
Her kan du vende tilbage dette nøgleord som en erklæring fra metoden. I dette tilfælde skal metoden for returnering af metoden være klassetypen. Lad os forstå dette ved hjælp af et eksempel.
offentlig klasse Edureka {int j, int n // Standardkonstruktør Edureka () {j = 100 n = 200} // Metode, der returnerer nuværende klasseinstans Edureka get () {returner denne} // Visningsværdi af variabler j og n ugyldig display () {System.out.println ('j =' + j + 'n =' + n)} offentlig statisk ugyldig hoved (String [] args) {Edureka obj = new Edureka () obj.get (). display ()}}
Produktion:
j = 100, n = 200
4. dette nøgleord kan bruges som en metodeparameter
dette nøgleord kan bruges inde i metoden for at kalde en anden metode fra samme klasse. Nedenstående eksempel viser det samme.
offentlig klasse Edureka {int j, n // Standardkonstruktør Edureka () {j = 100 n = 200} // Metode, der modtager 'dette' nøgleord som parameter ugyldig visning (Edureka obj) {System.out.println ('j = '+ j +' n = '+ n)} // Metode, der returnerer nuværende klasseinstans ugyldig get () {display (dette)} offentlig statisk ugyldig hoved (String [] args) {Edureka obj = new Edureka () obj. få ()}}
Produktion:
j = 100, n = 200
5. dette nøgleord bruges som en nuværende klassemetode
Fibonacci kode c ++
dette nøgleord kan bruges til at påkalde metoden for den aktuelle klasse. Lad os forstå det ved hjælp af et eksempel.
pubic class Edureka {void display () {// calling fuction show () this.show () System.out.println ('Inside display function')} void show () {System.out.println ('Inside show funcion' )} offentlig statisk ugyldig hoved (String args []) {Edureka j = new Edureka () j.display ()}}
Produktion:
Indvendig showfunktion Indvendig displayfunktion
6. dette nøgleord bruges som et argument i konstruktøropkaldet
Du kan passere dette nøgleord i konstruktøren også. Det er nyttigt, hvis du skal bruge en i flere klasser. Lad os nu forstå det samme ved hjælp af et eksempel.
offentlig klasse Y {X obj // Parameteriseret konstruktør med objekt af X // som parameter Y (X obj) {this.obj = obj // kald displaymetode for klasse X obj.display ()}} klasse X {int x = 45 // Standardkonstruktør, der opretter et objekt af Y // ved at sende dette som et argument i // konstruktøren X () {Y obj = ny Y (dette)} // metode til at vise værdien af x tom skærm () {System.out.println ('Værdi af x i klasse X:' + x)} offentlig statisk ugyldig hoved (String [] args) {X obj = new X ()}}
Produktion :
Værdien af x i klasse X: 45
Vigtige faktorer ved dette nøgleord:
Du skal ringe super() og dette() kun at kalde udsagn inde i konstruktørerne, og de skal være den første erklæring i konstruktørerne.
Dette bringer os til slutningen af artiklen om dette nøgleord i Java. Jeg håber, du fandt det informativt.
Tjek af Edureka, et pålideligt online læringsfirma med et netværk på mere end 250.000 tilfredse elever spredt over hele kloden. Vi er her for at hjælpe dig med hvert trin på din rejse, for at blive et udover dette java-interviewspørgsmål, kommer vi med en læseplan, der er designet til studerende og fagfolk, der ønsker at være Java-udvikler.
Har du et spørgsmål til os? Nævn det i kommentarfeltet i denne artikel 'dette nøgleord i Java', og vi vender tilbage til dig hurtigst muligt.