![Citation](https://forum.developpez.be/images/misc/quote_icon.png)
Envoyé par
Faiche
regarde le cours de java pour savoir ce que fait this(paramètres) dans un constructeur, et tu auras ta réponse.
Un peu trop sévère comme réponse !
Sinon, dans ton main tu as :
1 2 3 4 5
|
...
cubeObj1=new Cube1();
cubeObj2=new Cube1(10,20,30);
... |
On déroule le prog et on voit ce que ça donne :
1) cubeObj1=new Cube1(); ==> Création d'une instance de Cube1 et appel du contructeur par défaut. Dans le corps de celui-ci, tu fais appel à this(...,...) avant le print. this (...,...) est en réalité l'appel au constructeur ayant deux paramètres en entrées et donc va s'exécuter avant de faire le print !
De même, dans le code de Cube1(...,...), tu fais appel à this(...,...,...) avant le print. Et donc même principe, on entre dans le Cube1(...,...,...) avant le print.
Une fois dans le Cube1(...,...,...), là on affiche le premier print donc :
System.out.println("Finished with parameterized constructor having 3 params");
puis les autres exactement comme tu as mentionné ici :
le output ce ce prg est le suivant
1 2 3 4 5 6
| Finished with parameterized constructor having 3 params
Finished with parameterized constructor having 2 params
Finished with default constructor
Finished with parameterized constructor having 3 params
volume of Cube1 is:1000
volume of Cube2 is:6000 |
Enfin, pour le dernier print qui se répète deux fois, c'est tout à fait normal car t'as instancié un objet Cube1 en appelant le constructeur ayant 3 params Cube1(...,...,...). Donc, son print s'exécute !
J'espère que t'as un peu saisi !
Partager