Java - Konstruktoren

Ein Konstruktor initialisiert ein Objekt, wenn es erstellt wird. Es hat den gleichen Namen wie seine Klasse und ähnelt syntaktisch einer Methode. Konstruktoren haben jedoch keinen expliziten Rückgabetyp.

In der Regel verwenden Sie einen Konstruktor, um den von der Klasse definierten Instanzvariablen Anfangswerte zuzuweisen oder andere Startvorgänge auszuführen, die zum Erstellen eines vollständig geformten Objekts erforderlich sind.

Alle Klassen haben Konstruktoren, unabhängig davon, ob Sie einen definieren oder nicht, da Java automatisch einen Standardkonstruktor bereitstellt, der alle Elementvariablen auf Null initialisiert. Sobald Sie jedoch Ihren eigenen Konstruktor definiert haben, wird der Standardkonstruktor nicht mehr verwendet.

Syntax

Es folgt die Syntax eines Konstruktors -

class ClassName {
   ClassName() {
   }
}

Java erlaubt zwei Arten von Konstruktoren, nämlich -

  • Kein Argument Konstruktoren
  • Parametrisierte Konstruktoren

Kein Argument Konstruktoren

Da der Name angibt, dass keine Argumentkonstruktoren von Java stattdessen keine Parameter akzeptieren, werden mit diesen Konstruktoren die Instanzvariablen einer Methode mit festen Werten für alle Objekte initialisiert.

Beispiel

Public class MyClass {
   Int num;
   MyClass() {
      num = 100;
   }
}

Sie würden den Konstruktor aufrufen, um Objekte wie folgt zu initialisieren

public class ConsDemo {
   public static void main(String args[]) {
      MyClass t1 = new MyClass();
      MyClass t2 = new MyClass();
      System.out.println(t1.num + " " + t2.num);
   }
}

Dies würde das folgende Ergebnis erzeugen

100 100

Parametrisierte Konstruktoren

In den meisten Fällen benötigen Sie einen Konstruktor, der einen oder mehrere Parameter akzeptiert. Parameter werden einem Konstruktor auf die gleiche Weise hinzugefügt wie einer Methode. Deklarieren Sie sie einfach in den Klammern nach dem Namen des Konstruktors.

Beispiel

Hier ist ein einfaches Beispiel, das einen Konstruktor verwendet -

// A simple constructor.
class MyClass {
   int x;
   
   // Following is the constructor
   MyClass(int i ) {
      x = i;
   }
}

Sie würden den Konstruktor aufrufen, um Objekte wie folgt zu initialisieren:

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);
   }
}

Dies würde das folgende Ergebnis erzeugen -

10 20