Lorsqu'il n'y a pas de constructeur défini dans une classe, le compilateur Java ajoute un constructeur
par défaut (sans paramètre). C'était par exemple le cas pour les classes Compteur
et Compteur5Bits.
Pour construire un objet, il faut invoquer un constructeur (mot clé Compteur).
Lorsque le constructeur a un paramètre (comme pour la classe CompteurNBits),
il faut passer un argument de type adéquate (e.g. new CompteurNBits(12)
pour construire un compteur 12 bits).
On distingue alors plusieurs cas pour l'initialisation des champs d'un objet :
- On peut initiliser les champs explicitement par une constante : int etat = 0;
- On peut aussi initialiser les champs dans le constructeur : this.n = valeur;
- Sinon, les champs sont initialisés par défaut en fonction de leur type. Tous les champs de type primitif
numérique sont initialisés à la valeur 0, les booléens sont initialisés à la valeur
false et les références sont initialisés à la valeur null.