Variable temporaire java!
tatata01
-
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Je souhaiterai savoir quelle est la difference entre ces deux fonction...
Le A tmp me trouble! J'ai compris la deuxieme qui sert a echanger les valeurs de c et d.
Je pensais que echange(A x, A y) servait juste a echanger les valeurs des variable des objet rentré en argument.
Merci de votre reponse!
Je souhaiterai savoir quelle est la difference entre ces deux fonction...
Le A tmp me trouble! J'ai compris la deuxieme qui sert a echanger les valeurs de c et d.
Je pensais que echange(A x, A y) servait juste a echanger les valeurs des variable des objet rentré en argument.
Merci de votre reponse!
A x1 = new A(); A x2 = new A(); A.echange(x1, x2);
public static void echange(A x, A y) { A tmp = x; x = y; y = tmp; } public void echange(){ int tmp = c; c = d; d = tmp; }
A voir également:
- Variable temporaire java!
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
1 réponse
salut....
pour la première fonction tu a x1 et x2 qui sont deux objets crée de la class A
tu doit avoir un constructeur par defaut dans la Class A comme suite :
------------------------------------------------------------------------
public class A {
public A {
<--- #"constructeur par defaut"
}
}
------------------------------------------------------------------------
allors 'A.echange(x1, x2)' change le contenu de deux objets, tandis que la deuxieme fonction change le contenu de deux variable (pour ton exemple c'est c et d)
bonne chance.
pour la première fonction tu a x1 et x2 qui sont deux objets crée de la class A
tu doit avoir un constructeur par defaut dans la Class A comme suite :
------------------------------------------------------------------------
public class A {
public A {
<--- #"constructeur par defaut"
}
}
------------------------------------------------------------------------
allors 'A.echange(x1, x2)' change le contenu de deux objets, tandis que la deuxieme fonction change le contenu de deux variable (pour ton exemple c'est c et d)
bonne chance.
KX
Messages postés
16761
Date d'inscription
Statut
Modérateur
Dernière intervention
3 020
Attention : on ne manipule pas les objets ici, mais leurs références ! x1 et x2 ne seront jamais modifiés par la méthode échange, c'est les références x et y qui sont permutés, sans aucune conséquences pour les références x1 et x2, contrairement à c et d pour lesquels on a effectivement une permutation car ce sont des variables globales de type primitif et non plus des références d'objets en paramètre.