Maison > Questions et réponses > le corps du texte
怪我咯2017-04-18 10:39:36
Citant une section de la spécification JVM, voir
pour plus de détailsPour chaque paramètre déclaré dans une déclaration de méthode, une nouvelle variable de paramètre est créée à chaque fois que cette méthode est invoquée. La nouvelle variable est initialisée avec la valeur d'argument correspondante de l'invocation de la méthode.
La spécification indique que chaque fois qu'une méthode est appelée, les paramètres de la méthode seront initialisés.
Le test
de la index
méthode ci-dessus initialise une variable de type Integer
puis pointe vers la variable transmise dans i
. Le index = new Integer(20);
suivant modifie uniquement le pointage de la variable index
, et le pointage d'origine de i
n'a pas changé.
PHP中文网2017-04-18 10:39:36
Les méthodes en Java utilisent toutes le transfert de valeur Même s'il s'agit d'une référence, ce qui est transmis est une copie de la référence originale
La méthode ne peut modifier que les attributs dans la référence du paramètre, mais pas l'adresse de référence du paramètre
Et vous pouvez voir le code source d'Integer :
La valeur qu'elle enveloppe est modifiée par final, c'est-à-dire qu'elle ne peut être attribuée qu'une seule fois et la valeur ne changera pas après l'affectation.
De plus, vous pouvez essayer d'autres types de référence pour voir s'ils peuvent être modifiés, tels que String