Salut,
Je me posais une question sur la place que prenne en mémoire les variables qui référencent un objet. Je me prend un exemple simple pour fixer les idées :
Pour t1:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 public class Test { public static void main(String[] args) { Test t1 = new Test();; Test t2 = null; Test t3; // reste du code
je crée un objet en mémoire, sa référence est donné par t1 et vaut par exemple Test@15db9742
une adresse codée donc sur 32 bits qui correspond à l'adresse où se situe réellement l'objet en mémoire.
Pour t2 :
t2 ne référence aucun objet. Si j'utilise un system.ou.println(t2), j'obtiens bien sûr null, mais il y a bien un espace mémoire réservé pour stocker la variable t2 (même si cette variable pointe vers aucun objet). Peut on réellement connaître la valeur que prend cette variable ?
Pour t3 :
je ne vois pas vraiment la différence avec t2. t3 n'est pas initialisé donc ne pointe vers aucun objet. C'est comme si on vait t3 = null, non ? Y a t il un espace mémoire réservé pour t3 ? Peut on connaitre la valeur qui est stocké dans t3 ?
Merci![]()
Partager