Video: Konstruktor - Objektorientierte Programmierung in Java 3 ● Gehe auf SIMPLECLUB.DE/GO 2024
Ein Konstruktor in Java ist ein Codeblock ähnlich einer Methode, die aufgerufen wird, wenn eine Instanz eines Objekt wird erstellt. Hier sind die wichtigsten Unterschiede zwischen einem Konstruktor und einer Methode:
-
Ein Konstruktor hat keinen Rückgabetyp.
-
Der Name des Konstruktors muss mit dem Namen der Klasse übereinstimmen.
-
Im Gegensatz zu Methoden werden Konstruktoren nicht als Mitglieder einer Klasse betrachtet.
-
Ein Konstruktor wird automatisch aufgerufen, wenn eine neue Instanz eines Objekts erstellt wird.
Hier ist das grundlegende Format für die Codierung eines Konstruktors:
public ClassName (Parameterliste) [löst Ausnahme aus …] {Anweisungen …}
Das Schlüsselwort public gibt an, dass andere Klassen auf den Konstruktor zugreifen können. ClassName muss mit dem Namen der Klasse übereinstimmen, die den Konstruktor enthält. Sie codieren die Parameterliste auf die gleiche Weise wie für eine Methode.
Beachten Sie auch, dass ein Konstruktor Ausnahmen auslösen kann, wenn Situationen auftreten, in denen er sich nicht wiederherstellen kann.
Ein Konstruktor ermöglicht es Ihnen, Anfangswerte für Klassenfelder anzugeben, wenn Sie das Objekt erstellen. Angenommen, Sie haben eine Klasse namens Actor mit den Feldern firstName und lastName. Sie können einen Konstruktor für die Actor-Klasse erstellen:
public Actor (String zuerst, String zuletzt) {firstName = first; lastName = last;}
Dann erstellen Sie eine Instanz der Actor-Klasse, indem Sie diesen Konstruktor aufrufen:
Schauspieler a = neuer Schauspieler ("Arnold", "Schwarzenegger");
Ein neues Actor-Objekt für Arnold Schwarzenegger wird erstellt.
Wie Methoden können Konstruktoren überladen werden. Mit anderen Worten, Sie können mehr als einen Konstruktor für eine Klasse bereitstellen, wenn jeder Konstruktor eine eindeutige Signatur hat. Hier ist ein weiterer Konstruktor für die Actor-Klasse:
public Actor (String zuerst, String zuletzt, boolesches Gut) {firstName = first; lastName = letztes; goodActor = good;}
Mit diesem Konstruktor können Sie ein Actor-Objekt mit Informationen neben dem Namen des Akteurs erstellen:
Actor a = new Actor ("Arnold", "Schwarzenegger", false);
Wenn Sie keinen Konstruktor für eine Klasse angeben, erstellt Java automatisch einen Standardkonstruktor , der keine Parameter hat und keine Felder initialisiert. Dieser Standardkonstruktor wird aufgerufen, wenn Sie das neue Schlüsselwort ohne Übergabe von Parametern angeben. Zum Beispiel:
Ball b = neuer Ball ();
Hier wird eine Variable vom Typ Ball erstellt, indem der Standardkonstruktor für die Ball-Klasse verwendet wird.
Wenn Sie explizit irgendwelche Konstruktoren für eine Klasse deklarieren, erstellt Java nicht einen Standardkonstruktor für die Klasse.Wenn Sie einen Konstruktor deklarieren, der Parameter akzeptiert und trotzdem einen leeren Konstruktor haben soll (ohne Parameter und ohne Körper), müssen Sie explizit einen leeren Konstruktor für die Klasse deklarieren.