Quel est ce mot-clé en Java?

Java est un langage orienté objet et il peut y avoir de nombreux objets présents à la fois, sur ceux que nous pourrions utiliser, «ce» mot-clé vient ici dans l'image car il aide à pointer l'instance courante ou l'objet courant d'une classe.

Par conséquent, lorsque nous cherchons à invoquer des méthodes de la classe actuelle, lorsque nous voulons invoquer le constructeur de la classe actuelle, renvoyer l'instance actuelle à partir de méthodes, passer l'instance actuelle à méthodes; dans tous ces cas, ce mot-clé est utile.

Exemples de cas d'utilisation

  1. Le bloc synchronisé en multithreading utilise ce mot-clé comme argument
  2. Surcharge constructeur

Pourquoi utiliser ce mot-clé en Java?

  • 'cette' variable agit comme une variable finale en java c'est-à-dire que nous ne pouvons assigner aucune valeur à 'cette' variable, cela peut être recoupé en assignant une valeur au mot-clé 'this' et cela conduira à une erreur de compilation.
  • 'this' peut également être utilisé pour référencer des membres statiques (mais cela ne doit pas être fait) car les membres statiques sont déclarés une seule fois, c'est-à-dire que l'allocation de mémoire qui leur est faite ne l'est qu'une seule fois et si nous essayons de faire des manipulations en utilisant le mot clé 'this', alors il manipulera toujours les données placées à cet emplacement de mémoire plutôt que de créer des données à de nouveaux emplacements de mémoire, ce que font les objets.
  • Cela empêche la tâche de faire des affectations inutiles aux variables et parfois nous n'avons pas besoin de créer de variables supplémentaires, «ce» mot-clé partout où il est utilisé nous donne la garantie que l'instance actuelle est référencée.

Importance de ce mot-clé

Les exemples ci-dessous montrent que nous devons créer des variables avec des noms différents pour des propriétés particulières, elles peuvent simplement être attribuées dans le constructeur lors de l'initialisation de l'objet à l'aide de ce mot-clé.

  • Empêche les conflits de variable membre et de nom de variable locale, on peut référencer la variable membre à l'aide de ce mot clé.

public class Student (
int marks;
String subjectName;
//constructor
public Student(int marks, String subjectName)
(
this.marks = marks;
this.subjectName=subjectName;
)
public Student()
(
)
public static void main(String args())
(
Student s = new Student(1, "name");
)
)

  • Les méthodes de classe d'objets peuvent également être appelées à l'aide de ceci.

//consider a method shown here
public String getName()
(
return this.toString();
)

  • Cela peut être utilisé dans les méthodes setter et getter pour renvoyer les instances actuelles.

Public int getmarks()
(
return this.marks;
)
public void setMarks(int marks)
(
this.marks =marks;
)

Utilisations particulières de ce mot-clé

Voici quelques utilisations de ce mot-clé expliquées ci-dessous avec l'implémentation:

1. Utiliser avec dans un champ

public class PointCoordinates (
public int xval = 0;
public int yval = 0;
//constructor
public PointCoordinates (int a, int b) (
xval = a;
yval = b;
)
public static void main(String args())
(
)
)

Mais cela aurait pu être écrit comme ceci:

public class PointCoordinates (
public int xval = 0;
public int yval= 0;
//constructor
public PointCoordinates (int xval, int yval) (
this.xval = xval;
this.yval = yval;
)
public static void main(String args())
(
)
)

C'est donc quelque chose que nous avons expliqué dans la dernière section également, où l'on peut voir que les conventions de dénomination pour un type de champ de données peuvent être uniformes si nous utilisons le mot-clé «this».

Par conséquent, un développeur n'est pas censé suivre ou mapper un graphique de variables pour le même type de champ de données logiques.

2. Invocation du constructeur à l'aide de ce mot clé

Nous pouvons utiliser ce mot-clé à l'intérieur d'un constructeur et appeler un autre constructeur à partir de là, dans la même classe. Ceci est également appelé invocation explicite de constructeur.

Prenons un exemple ci-dessous pour le même -

public class Square (
private int x;
private int side;
public Square () (
this(1);
)
public Square (int side) (
this(0, side);
)
public Square (int x, int side) (
this.x = x;
this.side = side;
)
public static void main(String args())
(
)
)

Il y a trois constructeurs ici dans l'image, notez que le constructeur par défaut est censé être placé explicitement lorsque nous faisons une surcharge de constructeur.

Ces constructeurs initialisent certaines variables membres, le compilateur obtient ici une indication sur l'invocation du constructeur via le nombre de paramètres utilisés à l'intérieur des méthodes.

3. Retour de l'instance de classe actuelle à l'aide de ce mot clé

class Rectangle
(
int height;
int width;
Rectangle()
(
height = 10;
width = 20;
)
//Method to return current class instance
Rectangle getObject()
(
return this;
)
public void print()
(
System.out.println(height+", "+ width);
)
public static void main(String() args)
(
Rectangle object = new Rectangle();
object.getObject().print();
)
)

Ainsi, dans l'exemple ci-dessus, on peut voir que l'objet actuel est renvoyé par une méthode getter et sur cette instance, la méthode particulière «print» a été invoquée.

4. Utiliser comme paramètre de méthode

class Rectangle
(
int height;
int width;
Rectangle()
(
height = 10;
width = 20;
)
void getObject()
(
print(this);
)
public void print(Rectangle object)
(
System.out.println(object.height + ", " + object.width);
)
public static void main(String() args)
(
Rectangle object = new Rectangle();
object.getObject();
)
)

L'exemple a cité la façon dont l'objet actuel est transmis à une méthode qui peut utiliser cet objet pour son utilisation personnalisée.

Conclusion

Nous avons vu divers cas d'utilisation ici, citant les variantes contre l'utilisation de ce mot-clé en java et où utiliser et où ne pas utiliser, ces conditions ont été mises en place de manière explicite.
«ce» mot-clé est commun à tous les langages de programmation, dans les frameworks basés sur javascript également, «ceci» trouve un rôle clé.
'ce' mot-clé peut devenir une surcharge s'il n'est pas bien compris et c'est une grande aide pour les développeurs s'il est bien compris.

Articles recommandés

Ceci est un guide de ce mot-clé en java. Nous discutons ici de l'importance, des utilisations particulières et des exemples de ce mot-clé en java avec son implémentation de code. Vous pouvez également consulter les articles suivants pour en savoir plus-

  1. Objet en Java
  2. Encapsulation en JavaScript
  3. Mot-clé statique en Java
  4. Surcharge et redéfinition en Java
  5. Fonction et règles de remplacement en Python