Method Argument are passed “by value” “by copy” Correct but incomplete
2 Types d’expressions dans une seule JVM
Primitive : Value is “The Value”
Object/Reference : Value is the Pointer (the reference) Adresse Memoire qui pointe vers l’objet
Q?? Q??
Q16
Q17
Classes Wrapper
Ex:
1 2 3 4 5 6 7 8 9 10 11 12
publicclassEx {
publicstaticvoidmain(String[] args) { Integer x = 99; Ex.add(x); //copy de la valeur de l'adresse memoire System.out.println("Valeur de x " + x); -> 99 } publicstaticvoidadd(Integer y) { y = y + 1; // y est converti en int pour effectuer le +, puis autobxing en Integer en créant un nouvel objet } }
Remarques
String est IMMUTABLE
StringBuffer n’est pas IMMUTABLE
Les classes Wrappers des primitives sont IMMUTABLES