Bonjour,
Je suis confront� � un comportement qui me laisse perplexe.
Ce n'est trop grave comme probl�me, mais je trouve �a vraiment bizarre :
j'ai une m�thode qui rappelle le constructeur de sa classe toute seule !!
J'essaie de vous expliquer, peut-�tre connaissez-vous ce comportement.
- 2 classes
###1�re classe :
en gros, j'ai une m�thode static qui renvoie un objet que je cr�� dans cette
m�thode
Du style :
public class UneClasse {
...
public static MaClasse get() {
MaClasse newO = new Object MaClasse();
//traitement ...
return newO;
}
...
}
Ensuite, dans MaClasse, j'ai :
- un compteur
int i = 0;
- un constructeur
public MaClasse() {
super();
//traitement ...
maMethode();
}
- une m�thode
private void maMethode() {
// traitement ...
i++;
System.out.println("Ex�cution de la m�thode : " + i);
}
Enfin, si je fais
Maclass obj = UneClasse.get();
j'obtiens en sortie :
Ex�cution de la m�thode : 1
Ex�cution de la m�thode : 2
Y'a quelque chose qui m'�chappe. J'ai v�rifi� avec un d�bugger : � la fin de
maMethode(), le programme repart au d�but du constructeur ...
Par contre, si je fais dans Maclasse un main, avec juste un new MaClasse(),
je n'ai aucun probl�me de double ex�cution ...
Config : windows 2000, jdk 1.4.0
Damien Lecan