Opérateur new | Java

L’opérateur « new » en java permet de créer des nouveaux objets ou des instances d’une classe. Il alloue dynamiquement de la mémoire. La mémoire est allouée au moment de l’exécution du programme. L’avantage de cette approche est que votre programme peut créer autant d’objets qu’il en a besoin pendant l’exécution de votre programme.
 
 
Par exemple, avant de créer un nouvel objet de la classe, nous créons la variable(référence), exemple : MaClasse obj; (Où MaClasse est la classe à partir duquel on veut créer l’objet).

Désormais, cette instruction crée uniquement une variable de référence d’une classe ou du type « MaClasse ».

Toutes les variables de référence se trouvent dans la pile. Actuellement, la référence « obj » pointe sur nulle.

Si nous utilisons l’opérateur new, la création physique de l’objet a lieu. La déclaration est:
obj = new MaClasse();

Cette déclaration fait deux choses:

  • Il crée l’objet réel ou physique dans le tas avec la variable « obj » pointant vers l’objet de la pile.
  • Il appelle le constructeur de la classe « MaClasse » pour l’initialisation de l’objet.

 
 
« MaClasse() » est le constructeur par défaut. Un constructeur définit ce qui se produit lorsqu’un objet de la classe est créé.

La plupart des classes définissent explicitement leurs propres constructeurs dans leur définition de classe et si aucun constructeur explicite n’est spécifié dans la classe, java fournira automatiquement un constructeur par défaut.

Les deux instructions peuvent également être combinées en une seule instruction:
MaClasse obj = new MaClasse();

Maintenant, l’objet ‘obj’ qui point sur l’objet réel de la classe MaClasse peut appeler n’importe quelle méthodes de la classe « MaClasse ».

QCM-JavaTestez vos connaissances – QCM Java corrigé – Partie 1QCM sur Java avec des réponses pour la préparation des entretiens d’embauche, des tests en ligne, aux examens et aux certifications. Ces questions et réponses…Lire plus
Partagez cet article

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *