Constructeurs en Java

Qu'est-ce qu'un constructeur ?

Les constructeurs sont des méthodes spéciales au sein d'une classe qui permettent d'initialiser des objets. Lorsqu'on utilise le mot-clé new pour créer un objet, au moins un constructeur est invoqué. Les constructeurs sont essentiels pour garantir que les objets commencent leur existence avec des valeurs de départ appropriées.

Les différentes catégories de constructeurs

Il existe principalement deux types de constructeurs en Java :

  1. Constructeur par défaut : Ce type de constructeur ne prend aucun paramètre.
  2. Constructeur paramétré : Ce type accepte un ou plusieurs paramètres spécifiques qui peuvent être utilisés pour initialiser les propriétés de l'objet.

Règles pour la création de constructeurs

Pour définir des constructeurs en Java, il y a quelques règles à suivre : - Le nom du constructeur doit correspondre exactement au nom de la classe. - Les constructeurs ne peuvent pas être déclarés comme abstract, static, final, ou synchronized. - Les constructeurs n'ont pas de type de retour explicite, pas même void.

Création d'un constructeur par défaut

Voyons maintenant comment créer un constructeur par défaut. Dans l'exemple suivant, la classe Arbre a un constructeur sans paramètres. Lorsque nous instancions un objet de cette classe dans la méthode main(), le constructeur est automatiquement appelé :

class Arbre {  // Création d'un constructeur par défaut  Arbre() {    System.out.println("Un arbre est créé");  }
  public static void main(String args[]) {    Arbre a = new Arbre();  // Appel du constructeur par défaut  }}
// Sortie : Un arbre est créé

Création d'un constructeur paramétré

Regardons maintenant un constructeur paramétré. Dans l'exemple suivant, la classe Employé dispose d'un constructeur qui prend deux paramètres : un int pour l'identifiant et un String pour le nom. Ces valeurs sont fournies lors de la création d'une instance de la classe dans la méthode main() :

class Employé {  int id;  String nom;
  // Création d'un constructeur paramétré  Employé(int i, String n) {    id = i;    nom = n;    System.out.println(id + " " + nom);  }
  public static void main(String args[]) {    Employé e = new Employé(110, "Ashish"); // Création d'objets avec des valeurs  }}
// Sortie : 110 Ashish