dit trefwoord in Java - alles wat u moet weten



Dit artikel gaat over de verschillende aspecten van het gebruik van dit trefwoord in Java. Het zal u ook enkele van de belangrijke feiten vertellen om met dit zoekwoord om te gaan.

deze is een trefwoord dat een object in een methode of constructor vertegenwoordigt. Het is eigenlijk gewendelimineer de verwarring tussen klasseattributen en parameters met dezelfde naam. In dit artikel vertel ik je de verschillende aspecten en toepassingen van deze trefwoord in .

Hieronder staan ​​de onderwerpen die ik in dit artikel zal behandelen:





Dus laten we beginnen!

Wat is dit sleutelwoord in Java?

deze trefwoord in vertegenwoordigt de stroom . Het wordt voornamelijk gebruikt om toegang te krijgen tot andere leden van dezelfde klas. Met de hulp van deze trefwoord, hebt u toegang tot methoden, velden en constructeurs van dezelfde klas binnen de klas.



Laten we nu verder gaan en begrijpen wat de noodzaak is deze trefwoord in Java.

Waarom dit trefwoord in Java gebruiken?

Het belangrijkste motto van met behulp van dit trefwoord is het differentiëren van de formele parameter en van de klas. Als in het geval dat de formele parameter en gegevensleden van de klasse hetzelfde zijn, leidt dit tot dubbelzinnigheid. Dus om onderscheid te maken tussen de formele parameter en het gegevenslid van de klasse, moet het gegevenslid van de klasse worden voorafgegaan door de ' deze ”Trefwoord.

Eigenlijk, 'deze' trefwoord kan op twee manieren worden gebruikt.



  1. deze.
  2. deze()

1. dit.

Het kan worden gebruikt om te differentiëren en formele parameters van methode of constructor. Niet alleen dat, het verwijst altijd naar het huidige klasseobject. Syntaxis van deze trefwoord is zoals hieronder weergegeven:

Syntaxis

diep versus ondiep kopiëren java
this.data lid van de huidige klasse

Opmerking: Als er een variabele is die wordt voorafgegaan door 'deze', vervolgens behandelt JVM die variabele als een klassevariabele .

2. dit ()

Het kan worden gebruikt om er een te bellen bouwer binnen een andere zonder de objecten meerdere keren voor dezelfde klasse te maken.

Syntaxis

this () // roep geen geparametriseerde of standaard constructor aan dit (waarde1, waarde2, .....) // roep geparametriseerde constructor aan

Nu je weet wat het is deze zoekwoord en waarom heeft u het nodig, laten we dieper in dit artikel duiken en de verschillende aspecten begrijpen waar deze trefwoord kan worden gebruikt in Java .

Maakt gebruik van dit trefwoord

Er zijn 6 manieren waarop dit trefwoord kan worden gebruikt in Java. Ze zijn als volgt:

  1. Gebruikt met een veld
  2. Wordt gebruikt om een ​​constructor aan te roepen
  3. Wordt gebruikt om de huidige klasse-instantie te retourneren
  4. Wordt gebruikt als methodeparameter
  5. Wordt gebruikt om een ​​huidige klassemethode aan te roepen
  6. Gebruikt als een argument in de constructor-aanroep

Laten we nu eens kijken naar de details van elk van deze methoden.

1. dit trefwoord kan worden gebruikt met een veld / Variabele verbergen

deze trefwoord kan erg behulpzaam zijn bij Variabele verbergen . Hier kunt u geen twee i maken met dezelfde naam. Het is echter mogelijk om één instantievariabele en één lokale variabele met dezelfde naam te maken. In dit geval kan de lokale variabele de instantievariabele verbergen. Dit heet Variabele verbergen . Laten we dit nu op een meer gedetailleerde manier begrijpen met behulp van een voorbeeld.

pakket Edureka import java.util. * public class field {int j, n // Geparameteriseerde constructor Test (int j, int n) {this.j = j this.n = n} void display () {// Toon waarde van variabelen j en n System.out.println ('j =' + j + 'n =' + n)} public static void main (String [] args) {field obj = new field (27, 01) obj.display ( )}}

Uitgang:

j = 27 n = 01

In het bovenstaande voorbeeld zijn formele argumenten en instantievariabelen hetzelfde. Daarom heb ik, om onderscheid te maken tussen deze variabelen, gebruikt t zijn trefwoord om de lokale variabelen uit te voeren. Dus dit ging allemaal over het verbergen van de variabele.

linux systeembeheerder taakomschrijving

Laten we nu eens kijken hoe deze trefwoord in Java kan worden gebruikt om een ​​constructor aan te roepen.

2. dit sleutelwoord kan worden gebruikt om een ​​constructor aan te roepen

this () constructor-aanroep kan worden gebruikt om de huidige klassenconstructor aan te roepen. Het kan ook worden gebruikt om de constructor opnieuw te gebruiken. Je kunt deze techniek ook noemen als constructor chaining . Laten we een klein voorbeeld nemen en begrijpen hoe deze() is gebruikt.

pakket Edureka import java.util. * public class Voorbeeld {{int j, n // Default constructor Example () {this (27, 01) System.out.println ('Inside default constructor n')} // Parameterized constructor Example (int j, int n) {this.j = j this.n = n System.out.println ('Inside parameterized constructor')} public static void main (String [] args) {Voorbeeld obj = nieuw Voorbeeld ()} }

Uitgang:

Binnen geparametriseerde constructor Binnen standaard constructor

In het bovenstaande voorbeeld kunt u zien dat ' deze ”Sleutelwoord wordt gebruikt om een ​​overbelaste constructor in hetzelfde aan te roepen .

3. Dit sleutelwoord kan worden gebruikt om de huidige klasse-instantie te retourneren

Hier kun je terugkeren deze trefwoord als een verklaring van de methode. In dit geval moet het retourtype van de methode het klassetype zijn. Laten we dit begrijpen met behulp van een voorbeeld.

openbare klasse Edureka {int j, int n // Standaard constructor Edureka () {j = 100 n = 200} // Methode die de huidige klasse-instantie Edureka retourneert get () {retourneer dit} // Toon waarde van variabelen j en n leegte display () {System.out.println ('j =' + j + 'n =' + n)} public static void main (String [] args) {Edureka obj = new Edureka () obj.get (). display ()}}

Uitgang:

j = 100, n = 200

4. dit sleutelwoord kan worden gebruikt als een methodeparameter

deze trefwoord kan binnen de methode worden gebruikt om een ​​andere methode uit dezelfde klasse aan te roepen. Onderstaand voorbeeld laat hetzelfde zien.

openbare klasse Edureka {int j, n // Standaard constructor Edureka () {j = 100 n = 200} // Methode die 'dit' trefwoord ontvangt als parameter ongeldige weergave (Edureka obj) {System.out.println ('j = '+ j +' n = '+ n)} // Methode die de huidige klasse-instantie retourneert void get () {display (this)} public static void main (String [] args) {Edureka obj = new Edureka () obj. haal ()}}

Uitgang:

j = 100, n = 200

5. dit sleutelwoord wordt gebruikt als een huidige klassemethode

deze trefwoord kan worden gebruikt om de methode van de huidige klasse aan te roepen. Laten we dat begrijpen met behulp van een voorbeeld.

pubic class Edureka {void display () {// calling 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 = new Edureka () j.display ()}}

Uitgang:

Binnen tonen funcion Binnen vertoningsfunctie

6. Dit sleutelwoord wordt gebruikt als een argument in de constructor-aanroep

U kunt slagen deze trefwoord in de constructor ook. Het is handig als u er een moet gebruiken in meerdere klassen. Laten we nu hetzelfde begrijpen met behulp van een voorbeeld.

openbare klasse Y {X obj // Geparametriseerde constructor met object van X // als parameter Y (X obj) {this.obj = obj // aanroepen van weergavemethode van klasse X obj.display ()}} klasse X {int x = 45 // Default Contructor die een object van Y // maakt door dit als argument door te geven in de // constructor X () {Y obj = nieuwe Y (this)} // methode om de waarde van x void display () te tonen {System.out.println ('Value of x in Class X:' + x)} public static void main (String [] args) {X obj = new X ()}}

Uitvoer :

Waarde van x in klasse X: 45

Dus dit is hoe je kunt gebruiken deze trefwoord als een argument in de constructor-aanroep. Dat was alles over de verschillende toepassingen van deze trefwoord in Java. Laten we nu eens kijken naar enkele van de belangrijke factoren bij het gebruik dit trefwoord .

Belangrijke factoren van dit zoekwoord:

  1. Je kunt super en niet gebruiken deze trefwoord in een statische methode en in een statisch initialisatieblok, ook al verwijst u naar statische leden.

    java array van objecten voorbeeld
  2. Je moet bellen super() en deze() alleen instructies binnen de constructors aanroepen en ze moeten de eerste instructie in de constructors zijn.

Dit brengt ons bij het einde van het artikel over deze trefwoord in Java. Ik hoop dat je het informatief vond.

Bekijk de door Edureka, een vertrouwd online leerbedrijf met een netwerk van meer dan 250.000 tevreden leerlingen verspreid over de hele wereld. We zijn hier om je te helpen bij elke stap op je reis, om naast deze Java-interviewvragen ook een curriculum te bedenken dat is ontworpen voor studenten en professionals die een Java-ontwikkelaar willen worden.

Heeft u een vraag voor ons? Vermeld het in de commentarensectie van dit 'dit trefwoord in Java' -artikel en we nemen zo snel mogelijk contact met u op.