Java Language
Types de données de référence
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