Java - Konstruktoren
Ein Konstruktor initialisiert ein Objekt, wenn es erstellt wird. Sie hat den gleichen Namen wie ihre Klasse und ähnelt syntaktisch einer Methode. Konstruktoren haben jedoch keinen expliziten Rückgabetyp.
Typischerweise verwenden Sie einen Konstruktor, um den von der Klasse definierten Instanzvariablen Anfangswerte zu geben oder um andere Startprozeduren 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 definieren, wird der Standardkonstruktor nicht mehr verwendet.
Syntax
Es folgt die Syntax eines Konstruktors −
class ClassName { ClassName() { } }
Java erlaubt zwei Arten von Konstruktoren, nämlich −
- Keine Argumentkonstruktoren
- Parametrisierte Konstruktoren
Keine Argumentkonstruktoren
Wie der Name schon sagt, akzeptieren die No-Argument-Konstruktoren von Java keine Parameter, sondern 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 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 sie einer Methode hinzugefügt werden, deklarieren Sie sie einfach innerhalb der 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 zu folgendem Ergebnis führen −
10 20
Java