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