Bonjour,
scusez.
La question est vraiment bete. Je voudrais savoir pourquoi java se comporte comme ça?
J'ai un premier objet:
Code :
- public class obj {
- int a=0;
- public void display()
- {
- System.out.println(a);
- }
- }
|
Un deuxième objet, conteneur
Code :
- public class conteneur {
- private obj input;
- public void setInput(obj input)
- {
- this.input=input;
- }
- public obj getInput(){
- return input;
- }
- }
|
Cas d'utilisation:
Code :
- obj maclasse1 = new obj();
- conteneur monC = new conteneur();
- monC.setInput(maclasse1);
- obj maclasse2 = new obj();
- maclasse2.a=1;
- maclasse1=maclasse2;
- maclasse1.display();
- monC.getInput().display();
|
Pourquoi est-ce que dans le premier cas, ça affiche 1 (c'est une référence, et je m'attends au résultat) et dans le cas conteneur ça affiche zéro? Quelle est la règle?