dit trefwoord in Java
⚡ Slimme samenvatting
Java Het sleutelwoord `this` is een referentievariabele die verwijst naar het huidige object binnen een methode of constructor. LessOns behandelt het doel, veelvoorkomende toepassingen, naamconflicten, het aaneenschakelen van constructors en een uitgewerkt voorbeeld.
Waar zit dit zoekwoord in Java?
De dit trefwoord in Java is een referentievariabele die verwijst naar het huidige object van een methode of een constructor. Het belangrijkste doel van het gebruik van dit zoekwoord in Java Het doel is om verwarring te voorkomen tussen klasse-attributen en parameters met dezelfde naam.
Gebruik van dit trefwoord in Java
Hieronder volgen verschillende toepassingen van dit trefwoord in Java:
- Het kan worden gebruikt om te verwijzen naar de instantievariabele van de huidige klasse.
- Het kan worden gebruikt om de huidige klasseconstructor aan te roepen of te initialiseren.
- Het kan als argument worden doorgegeven bij een methodeaanroep.
- Het kan als argument worden doorgegeven bij een constructoroproep.
- Het kan worden gebruikt om het huidige klasse-exemplaar terug te geven.
Klik hier als de video niet toegankelijk is
Hoe begrijp je dit sleutelwoord aan de hand van een voorbeeld?

- Klasse: klasserekening
- Instantievariabele: a en b
- Methode Gegevens instellen: Om de waarde voor a en b in te stellen.
- Methode Gegevens weergeven: Om de waarden voor a en b weer te geven.
- Belangrijkste methode: waarbij we een object maken voor de Account-klasse en de methoden `set data` en `show data` aanroepen.
De verwarring rondom compilers wegnemen
Laten we de code compileren en uitvoeren.
Onze verwachte uitvoer voor A en B moet respectievelijk worden geïnitialiseerd op de waarden 2 en 3.
Maar de waarde is 0. Waarom? Laten we dat eens onderzoeken.
In de methode Set data worden de argumenten gedeclareerd als a en b, terwijl de instantievariabelen ook de namen a en b hebben.
Tijdens de uitvoering raakt de compiler in de war. Hij weet niet zeker of "a" aan de linkerkant van de toewijzingsoperator een instantievariabele of een lokale variabele is. Daardoor wordt de waarde van "a" niet ingesteld wanneer de methode `setData` wordt aangeroepen.
De oplossing is dit trefwoord.
Voeg zowel “a” als “b” toe aan de Java dit trefwoord gevolgd door een punt (.) operator.
Tijdens de uitvoering van de code, wanneer een object de methode `setdata` aanroept, wordt het sleutelwoord `this` vervangen door de objecthandler "obj". (Zie de afbeelding hieronder.)
Dus nu weet de compiler:
- De "a" aan de linkerkant is een instantievariabele.
- De "a" aan de rechterkant is daarentegen een lokale variabele.
De variabelen worden correct geïnitialiseerd en de verwachte uitvoer wordt weergegeven.
Hoe de compiler omgaat met meerdere objecten
Stel dat u verschillende namen kiest voor uw instantievariabele en methodeargumenten.
Maar deze keer maak je twee objecten van de klasse, die elk de set data-methode aanroepen.
Hoe bepaalt de compiler of hij moet werken met de instantievariabele van object 1 of object 2?
Nou, de compiler voegt impliciet toe de instantievariabele met het trefwoord 'this' (zie afbeelding hieronder).
Zodanig dat wanneer object 1 de set-datamethode aanroept, een instantievariabele wordt toegevoegd aan zijn referentievariabele.
Terwijl object 2 de ingestelde gegevensmethode aanroept, wordt een instantievariabele van object 2 gewijzigd.
De compiler handelt dit automatisch af. U hoeft het trefwoord `this` niet expliciet toe te voegen, tenzij een uitzonderlijke situatie dit vereist.
Voorbeeld: dit trefwoord in Java Met Code
Voorbeeld: Om te leren hoe je dit trefwoord gebruikt.
Stap 1) Kopieer de volgende code in een kladblok.
class Account{ int a; int b; public void setData(int a ,int b){ a = a; b = b; } public void showData(){ System.out.println("Value of A ="+a); System.out.println("Value of B ="+b); } public static void main(String args[]){ Account obj = new Account(); obj.setData(2,3); obj.showData(); } }
Stap 2) Sla de code op, compileer deze en voer hem uit.
Stap 3) De waarden van a en b worden als nul weergegeven? Om de fout te corrigeren, voeg je de volgende regel toe aan regel 6 en 7: dit trefwoord.
this.a =a; this.b =b;
Stap 4) Sla de code op, compileer deze en voer hem uit. Deze keer zijn de waarden van a en b ingesteld op respectievelijk 2 en 3.
Veelgestelde vragen
Check ons artikel op Java Interviewvragen: - Klik hier












