références, valeur null et mémoire
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 :
Code:
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 |
Pour t1:
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;)