Java - Constructeurs
Un constructeur initialise un objet lors de sa création. Elle porte le même nom que sa classe et est syntaxiquement similaire à une méthode. Cependant, les constructeurs n'ont pas de type de retour explicite.
Généralement, vous utiliserez un constructeur pour donner des valeurs initiales aux variables d'instance définies par la classe, ou pour effectuer toute autre procédure de démarrage requise pour créer un objet entièrement formé.
Toutes les classes ont des constructeurs, que vous en définissiez un ou non, car Java fournit automatiquement un constructeur par défaut qui initialise toutes les variables membres à zéro. Cependant, une fois que vous avez défini votre propre constructeur, le constructeur par défaut n'est plus utilisé.
Syntaxe
Voici la syntaxe d'un constructeur −
class ClassName { ClassName() { } }
Java autorise deux types de constructeurs à savoir −
- Constructeurs sans argument
- Constructeurs paramétrés
Constructeurs sans argument
Comme le nom le spécifie, les constructeurs sans argument de Java n'acceptent aucun paramètre à la place, en utilisant ces constructeurs, les variables d'instance d'une méthode seront initialisées avec des valeurs fixes pour tous les objets.
Exemple
Public class MyClass { Int num; MyClass() { num = 100; } }
Vous appelleriez le constructeur pour initialiser les objets comme suit
public class ConsDemo { public static void main(String args[]) { MyClass t1 = new MyClass(); MyClass t2 = new MyClass(); System.out.println(t1.num + " " + t2.num); } }
Cela produirait le résultat suivant
100 100
Constructeurs paramétrés
Le plus souvent, vous aurez besoin d'un constructeur qui accepte un ou plusieurs paramètres. Les paramètres sont ajoutés à un constructeur de la même manière qu'ils sont ajoutés à une méthode, il suffit de les déclarer entre parenthèses après le nom du constructeur.
Exemple
Voici un exemple simple qui utilise un constructeur −
// A simple constructor. class MyClass { int x; // Following is the constructor MyClass(int i ) { x = i; } }
Vous appelleriez le constructeur pour initialiser les objets comme suit −
public class ConsDemo { public static void main(String args[]) { MyClass t1 = new MyClass( 10 ); MyClass t2 = new MyClass( 20 ); System.out.println(t1.x + " " + t2.x); } }
Cela produirait le résultat suivant −
10 20
Java