Quel est ce mot-clé en Java?
ce mot clé en Java est une variable de référence qui fait référence à l'objet courant d'une méthode ou d'un constructeur. Le but principal de l'utilisation de ce mot-clé en Java est de supprimer la confusion entre les attributs de classe et les paramètres qui ont les mêmes noms.
Voici différentes utilisations du mot-clé «this» en Java:
- Il peut être utilisé pour référencer la variable d'instance de la classe actuelle
- Il peut être utilisé pour appeler ou lancer le constructeur de classe actuel
- Il peut être passé en argument dans l'appel de méthode
- Il peut être passé en argument dans l'appel du constructeur
- Il peut être utilisé pour renvoyer l'instance de classe actuelle
Cliquez ici si la vidéo n'est pas accessible
Comprenez le mot-clé «this» avec un exemple.
![](https://cdn.css-code.org/7775938/this_keyword_in_java_what_is_ampamp_how_to_use_with_example.jpg.webp)
- Classe : compte de classe
- Variable d'instance : a et b
- Données du jeu de méthodes : pour définir la valeur de a et b.
- Méthode Afficher les données : pour afficher les valeurs de a et b.
- Méthode principale: où nous créons un objet pour la classe Account et les méthodes d'appel définissent des données et affichent des données.
Compilons et exécutons le code
Notre sortie attendue pour A et B doit être initialisée aux valeurs 2 et 3 respectivement.
Mais la valeur est 0, pourquoi? Laissez enquêter.
Dans la méthode Set data, les arguments sont déclarés sous la forme a et b, tandis que les variables d'instance sont également nommées a et b.
Pendant l'exécution, le compilateur est confus. Si "a" sur le côté gauche de l'opérateur affecté est la variable d'instance ou la variable locale. Par conséquent, il ne définit pas la valeur de «a» lorsque les données de l'ensemble de méthodes sont appelées.
La solution est le mot-clé "this"
Ajoutez à la fois 'a' et 'b' avec le mot clé Java this suivi d'un opérateur point (.).
Pendant l'exécution du code lorsqu'un objet appelle la méthode 'setdata'. Le mot-clé "this" est remplacé par le gestionnaire d'objets "obj". (Voir l'image ci-dessous).
Alors maintenant, le compilateur sait,
- Le «a» sur le côté gauche est une variable d'instance.
- Alors que le 'a' sur le côté droit est une variable locale
Les variables sont initialisées correctement et la sortie attendue est affichée.
Supposons que vous soyez assez intelligent pour choisir des noms différents pour vos arguments de variable d'instance et de méthodes.
Mais cette fois-ci, vous créez deux objets de la classe, chacun appelant la méthode set data.
Comment le compilateur déterminera s'il est censé fonctionner sur la variable d'instance de l'objet 1 ou de l'objet 2.
Eh bien, le compilateur ajoute implicitement la variable d'instance avec le mot-clé "this" (image ci-dessous).
De telle sorte que lorsque l'objet 1 appelle la méthode set data, une variable d'instance est ajoutée par sa variable de référence.
Pendant que l'objet 2 appelle la méthode set data, une variable d'instance de l'objet 2 est modifiée.
Ce processus est pris en charge par le compilateur lui-même. Vous n'êtes pas obligé d'ajouter explicitement le mot-clé «this» sauf en cas de situation exceptionnelle comme dans notre exemple.
Exemple: pour apprendre à utiliser le mot clé "this"
Étape 1) Copiez le code suivant dans un bloc-notes.
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();}}
Étape 2) Enregistrez, compilez et exécutez le code.
Étape 3) La valeur de a & b est affichée comme zéro? Pour corriger l'erreur, ajoutez les lignes 6 et 7 avec le mot-clé " this ".
this.a =a;this.b =b;
Étape 4) Enregistrez, compilez et exécutez le code. Cette fois-ci, les valeurs de a et b sont respectivement définies sur 2 et 3.
Résumé
- ce mot - clé en Java est une variable de référence qui fait référence à l'objet courant.
- L'une des utilisations de ce mot-clé en Java est de faire référence à la variable d'instance de classe actuelle
- Il peut être utilisé pour appeler ou lancer le constructeur de classe actuel
- Il peut être passé en argument dans l'appel de méthode
- ce pointeur en Java peut être passé comme argument dans l'appel du constructeur
- cet opérateur en Java peut être utilisé pour renvoyer l'instance de classe actuelle
- ceci en Java est une référence à l'objet courant, dont la méthode est appelée.
- Vous pouvez utiliser le mot-clé "this" pour éviter les conflits de noms dans la méthode / le constructeur de votre instance / objet.