Le constructeur par défaut en Java

  1. Le constructeur par défaut en Java
  2. Le constructeur paramétré en Java

Dans le langage Java, le terme constructeur est similaire aux méthodes que nous exécutons en programmation. Il y a quelques propriétés d’un constructeur que vous devez garder à l’esprit lors de sa création.

  1. Le nom du constructeur doit toujours être le même que celui du nom de la classe.
  2. Il ne doit pas y avoir de type de retour du constructeur.
  3. Il peut y avoir un constructeur paramétré et un constructeur sans argument (constructeur par défaut) dans une classe.
  4. Le constructeur est toujours invoqué lorsqu’un objet est instancié.
  5. Le constructeur ne doit pas continuer avec des mots-clés comme abstract, static, final et synchronized.

Le constructeur par défaut en Java

Le constructeur par défaut de Java est souvent appelé constructeur no-args. Ci-dessous, vous pouvez consulter le bloc de code pour comprendre le constructeur par défaut en Java.

public class Main {
    public static void main(String[] args) {
        B b = new B();
        System.out.println(b.a);
    }
}

class B {
    int a;
}

Dans le bloc de code ci-dessus, vous remarquerez qu’il existe deux classes ; la première contient la méthode main, et l’autre est écrite pour décrire la fonctionnalité du constructeur.

La fonction main est le point d’entrée du programme, et l’exécution commence ici. Ainsi, l’instruction de classe de pilote, new B(), appelle le constructeur public no-argument de la classe B. Comme il n’y avait pas de définition explicite du constructeur donné, le compilateur crée lui-même un constructeur par défaut et l’invoque dans l’instruction ci-dessus.

Le constructeur initialise les variables de la classe. Lorsqu’aucun constructeur n’est défini, le compilateur initialise la valeur de la variable à ses valeurs par défaut. Lorsque la variable a de la classe B est référencée dans la fonction println, la valeur imprimée est dans la sortie ci-dessous.

Production:

0

Le constructeur paramétré en Java

L’utilisation de constructeurs paramétrés consiste à passer le nombre de paramètres au moment de la création de l’objet. Vous trouverez ci-dessous le bloc de code qui illustre sa fonction.

public class Main{
    public static void main(String[] args) {
        A a = new A(1, "One");
        System.out.println(a.a + " " + a.b);
//      A a1= new A();
    }
}

class A {
    int a;
    String b;

    A(int a, String b) {
        this.a = a;
        this.b = b;
    }
}

Dans le bloc de code ci-dessus, A est une classe pour démontrer le constructeur paramétré. Et une autre est la classe qui contient la méthode main. Dans la fonction, l’instruction new A(1, "One") appelle en interne le constructeur paramétré de la classe A. L’objet créé est affecté à la référence de la classe et la définition du constructeur est définie dans la classe.

Le constructeur, A(int a, String b), initialise la valeur des variables a et b. Les valeurs passées dans les paramètres seront copiées dans les variables. Dans la fonction println, l’utilisation de la variable de référence appelle les variables de classe de la classe a ; il imprime la valeur instanciée dans la sortie avec un espace ajouté entre les deux.

A côté, il y a une déclaration commentée. Nous commentons les instructions à partir de l’exécution à l’aide de l’opérateur //. L’instruction new A() essaie en interne de trouver le constructeur no-argument de la classe. Si le compilateur ne trouve aucun constructeur par défaut, il peut créer un constructeur par défaut.

Cette capacité est limitée au cas où aucun constructeur explicite n’est défini. Donc, dans ce cas, un utilisateur doit créer le constructeur no-args manuellement. La fonction A a1= new A(); génère une erreur de compilation. Les deux options pour résoudre le problème consistent à créer un constructeur par défaut ou à modifier la signature du constructeur paramétré existant qui conduit l’instruction existante à une rupture. Par conséquent, la ligne est commentée.

Production:

1 One

Article connexe - Java Constructor

  • Appelez un autre constructeur en Java