Aktionen

Konstruktoren

Aus Java Tutorial - Java lernen

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

Normalerweise verwenden Sie einen Konstruktor, um den von der Klasse definierten Instanzvariablen Anfangswerte zu geben oder um andere Startprozeduren durchzuführen, die zum Erstellen eines vollständig geformten Objekts erforderlich sind.

Alle Klassen haben Konstruktoren, ob Sie einen definieren oder nicht, da Java automatisch einen Standardkonstruktor bereitstellt, der alle Elementarvariablen 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

Parameterloser Konstruktor

Da der Name angibt, dass Java stattdessen keine Parameter akzeptiert, werden bei Verwendung dieser Konstruktoren die Instanzvariablen einer Methode für alle Objekte mit festen Werten 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 zu folgendem Ergebnis führen:

100 100

Parametrisierte Konstruktoren

Meistens benötigen Sie einen Konstruktor, der einen oder mehrere Parameter akzeptiert. Parameter werden einem Konstruktor auf die gleiche Weise hinzugefügt wie einer Methode, nur dass sie innerhalb der Klammern hinter dem Namen des Konstruktors deklariert werden.

Beispiel

Hier ist ein einfaches Beispiel, das einen Konstruktor verwenden:

// Ein einfacher Konstruktor.
class MyClass {
   int x;
   
   // Es folgt der Konstruktor:
   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 zu folgendem Ergebnis führen:

10 20