“doc” (Col. : Science Sup 17x24) — 2007/7/19 — 18:18 — page 309 — #319
i
i
i
i
i
i
i
i
6.5 Le langage Java (partie séquentielle)
309
Le passage de paramètres et le programme principal
Dans les méthodes, Java utilise le passage par valeur. Une copie de la valeur est passée
à la méthode et peut être modifiée à l’intérieur de la méthode sans changer la valeur
originale. Pour les valeurs primitives comme les entiers et flottants, c’est clair. Pour
les objets, Java passe les références aux objets (pas les objets eux-mêmes) par valeur.
Les objets utilisent donc presque le passage par référence. La différence est que, à
l’intérieur de la méthode, le champ peut être modifié pour référencer un autre objet.
La figure 6.13 donne un exemple. Cet exemple est un programme complet autonome ; on peut le compiler et exécuter tel quel. Chaque programme Java a une méthode,
main, qui est appelée quand le programme est démarré. La référence à l’objet c est
passée par valeur à la méthode sqr. À l’intérieur de sqr, l’affectation a=null n’a
aucun effet sur c.
class MyInteger {
public int val;
MyInteger(int x) { val=x; }
}
class CallExample {
public static void sqr(MyInteger a) {
a.val=a.val*a.val;
a=null;
}
public static void main(String[] args) {
MyInteger c=new MyInteger(25);
CallExample.sqr(c);
System.out.println(c.val);
}
}
Figure 6.13 Le passage de paramètres en Java.
L’argument de main est un tableau de chaînes de caractères qui contient les arguments de la ligne de commande du programme lorsqu’il est appelé par le système
d’exploitation. L’appel de méthode System.out.println imprime son argument sur
la sortie standard.
© Dunod – La photocopie non autorisée est un délit
Précédent

- 324/370

Suivant