Recherche…


Instancier un type de référence

Object obj = new Object(); // Note the 'new' keyword

Où:

  • Object est un type de référence.
  • obj est la variable dans laquelle stocker la nouvelle référence.
  • Object() est l'appel à un constructeur d' Object .

Ce qui se produit:

  • L'espace en mémoire est alloué à l'objet.
  • Le constructeur Object() est appelé pour initialiser cet espace mémoire.
  • L'adresse mémoire est stockée dans obj , de sorte qu'elle référence l'objet nouvellement créé.

Ceci est différent des primitives:

int i = 10;

Où la valeur réelle 10 est stockée dans i .

Déréférencer

Déréférencer se passe avec le . opérateur:

Object obj = new Object();
String text = obj.toString(); // 'obj' is dereferenced.

Le déréférencement suit l'adresse de mémoire stockée dans une référence, à l'endroit en mémoire où réside l'objet réel. Lorsqu'un objet a été trouvé, la méthode demandée est appelée ( toString dans ce cas).


Lorsqu'une référence a la valeur null , le déréférencement entraîne une exception NullPointerException :

Object obj = null;
obj.toString(); // Throws a NullpointerException when this statement is executed.

null indique l'absence d'une valeur, c'est- à- dire que suivre l'adresse de la mémoire ne mène nulle part. Il n'y a donc aucun objet sur lequel la méthode demandée peut être appelée.



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow