-Konstruktoren in Java

In Java ist ein Konstruktor ein Codeblock, der der Methode ähnlich ist. Es wird aufgerufen, wenn eine Instanz der Klasse erstellt wird. Zum Zeitpunkt des Aufrufs des Konstruktors wird Speicher für das Objekt im Speicher zugewiesen.

Dies ist eine spezielle Methode, mit der das Objekt initialisiert wird.

Jedes Mal, wenn ein Objekt mit dem Schlüsselwort new () erstellt wird, wird mindestens ein Konstruktor aufgerufen.

Es wird ein Standardkonstruktor aufgerufen, wenn in der Klasse kein Konstruktor verfügbar ist. In diesem Fall stellt der Java-Compiler standardmäßig einen Standardkonstruktor bereit.

In Java gibt es zwei Arten von Konstruktoren: den Konstruktor no-arg und den parametrisierten Konstruktor.

Hinweis: Er wird aufgerufen Konstruktor, weil er die Werte zum Zeitpunkt der Objekterstellung erstellt. Es ist nicht erforderlich, einen Konstruktor für eine Klasse zu schreiben. Dies liegt daran, dass der Java-Compiler einen Standardkonstruktor erstellt, wenn Ihre Klasse keine hat.

Regeln zum Erstellen des Java-Konstruktors

Für den Konstruktor sind zwei Regeln definiert.

  1. Der Konstruktorname muss mit dem Klassennamen identisch sein.
  2. Ein Konstruktor darf keinen expliziten Rückgabetyp haben.
  3. Ein Java-Konstruktor kann nicht abstrakt, statisch, endgültig und sein synchronisiert

Hinweis: Wir können Zugriffsmodifikatoren verwenden, während wir einen Konstruktor deklarieren. Sie steuern die Objekterstellung. Mit anderen Worten, wir können einen privaten, geschützten, öffentlichen oder Standardkonstruktor in Java haben.

Arten von Java-Konstruktoren

In Java gibt es zwei Arten von Konstruktoren:

  1. Standardkonstruktor (Konstruktor ohne Argumente)
  2. Parametrisierter Konstruktor

Java-Standardkonstruktor

Ein Konstruktor heißt „Standardkonstruktor“, wenn er keinen hat Parameter.

Syntax des Standardkonstruktors:

Beispiel für einen Standardkonstruktor

In diesem Beispiel erstellen wir die Nr. arg Konstruktor in der Bike-Klasse. Es wird zum Zeitpunkt der Objekterstellung aufgerufen.

Jetzt testen

Ausgabe:

Bike is created

Regel: Wenn eine Klasse keinen Konstruktor enthält, erstellt der Compiler automatisch einen Standardkonstruktor.

F) Was ist der Zweck eines Standardkonstruktors?

Der Standardkonstruktor wird verwendet, um dem Objekt je nach Typ die Standardwerte wie 0, Null usw. bereitzustellen.

Beispiel für einen Standardkonstruktor, der die Standardwerte

Jetzt testen

Ausgabe:

0 null0 null

Erläuterung: In der obigen Klasse sind Sie nicht Wenn Sie einen beliebigen Konstruktor erstellen, stellt Ihnen der Compiler einen Standardkonstruktor zur Verfügung. Hier werden vom Standardkonstruktor 0- und Nullwerte bereitgestellt.

Java-parametrisierter Konstruktor

Ein Konstruktor mit einer bestimmten Anzahl von Parametern wird als parametrisierter Konstruktor bezeichnet.

Warum den parametrisierten Konstruktor verwenden?

Der parametrisierte Konstruktor wird verwendet, um verschiedenen Objekten unterschiedliche Werte bereitzustellen. Sie können jedoch auch dieselben Werte angeben.

Beispiel für einen parametrisierten Konstruktor

In diesem Beispiel haben wir den Konstruktor der Student-Klasse mit zwei Parametern erstellt. Wir können eine beliebige Anzahl von Parametern im Konstruktor haben.

Jetzt testen

Ausgabe:

111 Karan222 Aryan

Konstruktorüberladung in Java

In Java ist ein Konstruktor wie eine Methode, jedoch ohne Rückgabetyp. Es kann auch wie Java-Methoden überladen werden.

Das Überladen von Konstruktoren in Java ist eine Technik, bei der mehr als ein Konstruktor mit unterschiedlichen Parameterlisten vorhanden ist. Sie sind so angeordnet, dass jeder Konstruktor eine andere Aufgabe ausführt. Sie werden vom Compiler durch die Anzahl der Parameter in der Liste und ihre Typen unterschieden.

Beispiel für das Überladen von Konstruktoren

Jetzt testen

Ausgabe:

111 Karan 0222 Aryan 25

Unterschied zwischen Konstruktor und Methode in Java

Es gibt viele Unterschiede zwischen Konstruktoren und Methoden. Sie sind unten angegeben.

Java-Konstruktor Java-Methode
Ein Konstruktor wird verwendet, um den Status eines Objekts zu initialisieren. Eine Methode wird verwendet, um das Verhalten eines Objekts verfügbar zu machen.
Ein Konstruktor muss keinen Rückgabetyp haben. Eine Methode muss einen Rückgabetyp haben.
Der Konstruktor wird implizit aufgerufen. Die Methode wird explizit aufgerufen.
Der Java-Compiler stellt einen Standardkonstruktor bereit, wenn Sie keinen Konstruktor in einer Klasse haben. Die Methode wird nicht von bereitgestellt Der Compiler in jedem Fall.
Der Konstruktorname muss mit dem Klassennamen übereinstimmen. Der Methodenname kann mit der Klasse identisch sein oder nicht name.

Java Copy Constructor

In Java gibt es keinen Kopierkonstruktor.Wir können die Werte jedoch wie ein Kopierkonstruktor in C ++ von einem Objekt auf ein anderes kopieren.

Es gibt viele Möglichkeiten, die Werte eines Objekts in Java in ein anderes zu kopieren. Dies sind:

  • Nach Konstruktor
  • Durch Zuweisen der Werte eines Objekts zu einem anderen
  • Nach clone () -Methode der Objektklasse

In diesem Beispiel werden die Werte eines Objekts mit dem Java-Konstruktor in ein anderes kopiert.

Jetzt testen

Ausgabe:

111 Karan111 Karan

Kopieren von Werten ohne Konstruktor

Wir können die Werte eines Objekts in ein anderes kopieren, indem wir die Objektwerte einem anderen Objekt zuweisen Objekt. In diesem Fall muss der Konstruktor nicht erstellt werden.

Jetzt testen

Ausgabe:

111 Karan111 Karan

F) Gibt der Konstruktor einen Wert zurück?

Ja, es ist die aktuelle Klasseninstanz (Sie können den Rückgabetyp noch nicht verwenden, er gibt einen Wert zurück).

Kann der Konstruktor andere Aufgaben anstelle der Initialisierung ausführen?

Ja, z. B. Objekterstellung, Starten eines Threads, Aufrufen einer Methode usw. Sie können jede Operation im Konstruktor so ausführen, wie Sie sie in der Methode ausführen.

Gibt es in Java eine Konstruktorklasse?

Ja.

Was ist der Zweck der Konstruktorklasse?

Java bietet eine Konstruktorklasse, die dies kann verwendet werden, um die internen Informationen eines Konstruktors in der Klasse abzurufen. Es befindet sich im Paket java.lang.reflect.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.