Java Konstruktor: Der Guide für Anfänger [+ Codebeispiele]

    Avatarbild von Dr.-Ing. Soner Emec
    Dr.-Ing. Soner Emec

    veröffentlicht am: 01.06.2022
    zuletzt aktualisiert am: 19.04.2023

    Der Java Konstruktor ist eine der wichtigsten Grundlagen jeder Programmierung. Vor Allem bei Objekten & Klassen.

    Angenommen, Du möchtest in einer Java Anwendung die Daten der „Mitarbeiter“ Deines Unternehmens speichern. Hierfür muss eine Java Klasse deklariert werden, die Variablen wie „Name“ und „Alter“ enthält, die die Attribute eines „Mitarbeiters“ darstellen.

    Wenn ein Objekt der angegebenen Klasse deklariert wird, wird ihm Speicherplatz zugewiesen. An diesem Punkt wird ein Java Konstruktor für die Initialisierung von Werten für die Klassenvariablen verwendet, da man kein Objekt dem Speicher hinzufügen kann, das keinen Wert für seine zugehörigen Variablen hat. Verwende hierfür die Java Konstruktoren, um den Variablen entweder „explizit“ Werte zuzuweisen, indem du einen „parametrisierten“ Konstruktor definierst oder „implizit“ mit einem „Standard“ Konstruktor.

    In diesem Beitrag wird die Funktionsweise von Java Konstruktoren mit Hilfe von geeigneten Beispielen diskutiert. So, lass uns loslegen!

    Was ist ein Java Konstruktor?

    Der „Java Konstruktor“ ist ein Code Block, der aufgerufen wird, wenn eine neue Instanz einer bestimmten Klasse erstellt wird. Diese spezielle Art von Methode wird verwendet, um das Klassenobjekt mit einigen vordefinierten Werten zu initialisieren.

    Wenn ein Klassenobjekt mit dem Schlüsselwort „new“ erstellt wird, wird der Konstruktor der angegebenen Klasse ausgeführt, der dem neu erstellten Objekt einen Speicherplatz zuweist. Wenn eine Klasse jedoch keinen Konstruktor hat, wird der Compiler automatisch einen „Default Constructor“ für diese erstellen.

    Typen von Konstruktoren in Java

    Konstruktoren in Java gibt es in den folgenden zwei Typen:

    • Standard Konstruktor
    • Parameterisierter Konstruktor

    Wir werden nun auf jeden der genannten Konstruktortypen im Detail eingehen.

    Was ist ein Standard Java Konstruktor?

    Wenn eine Konstruktormethode ohne Argumente definiert ist, wird sie als „Default Java Constructor“ bezeichnet. Ein Standard Java Konstruktor (Default Java Constructor) wird auch als „Non-argument Constructor“ bezeichnet, da er keine Argumente akzeptiert. Außerdem wird er verwendet, um einem Objekt zum Zeitpunkt seiner Deklaration „implizit“ einige „vordefinierte“ Werte zuzuweisen.

    Wie erstellt man einen Standard Konstruktor?

    Um einen Standard Konstruktor, auch Default-Konstruktor genannt, in Java zu erstellen, schau Dir die folgende Syntax an:

    Mitarbeiter() {
      // Körper des Defaults-Konstruktors
    }

    Hier muss der Name des Konstruktors mit dem Namen der „Klasse“ übereinstimmen und es sollte keinen expliziten „Rückgabetyp“ geben.

    Beispiel 1

    Wir werden nun einen Standard Konstruktor für die gegebene Klasse „Angestellter“ erstellen. Dieser Standardkonstruktor wird eine Meldung auf der Konsole ausgeben, wenn ein Objekt vom Typ „Angestellter“ erzeugt wird:

    public class Angestellter {
      Angestellter() {
        System.out.println("Ein Objekt der Klasse Angestellter wurde erfolgreich erstellt!");
      }
    
      public static void main(String[] args) {
        Angestellter angestellterEins = new Angestellter();
      }
    }

    In der Methode „main()“ wird bei der Erstellung des Objekts der Klasse „Angestellter“ der Standard Konstruktor ausgeführt, was die folgende Ausgabe zur Folge hat:

    Bei der Erstellung eines Objektes wird eine Methode (plural Methoden) aufgerufen. Diese wird Konstruktor genannt!

    Beispiel 2

    Ein Standard Konstruktor wird auch verwendet, um das Klassenobjekt mit Standardwerten wie „null“ zu initialisieren. Hier hängt der Vorgang der Wertzuweisung vom Typ der Klassenvariablen und den Anforderungen Deines Java Programms ab.

    Zum Beispiel haben wir in der gleichen Klasse „Angestellter“ zwei Variablen hinzugefügt, „name“ und „alter“ vom Typ „String“ bzw. „int„. Diese Variablen beziehen sich auf die Objekteigenschaften der Klasse „Angestellter„.

    Wir haben auch eine Methode „infosAusgeben()“ definiert, die die anfänglichen Variablenwerte eines Objekts der Klasse „Angestellter“ ausgibt:

    public class Angestellter {
      String name;
      int alter;
    
      void infosAusgeben() {
        System.out.println("Name des Mitarbeiters: " + name + ", Alter des Mitarbeiters: " + alter);
      }
    
      public static void main(String[] args) {
        Angestellter angestellterEins = new Angestellter();
        angestellterEins.infosAusgeben();
      }
    }

    Wie man sieht, haben wir unserer Klasse „Angestellter“ keinen Standard Java Konstruktor hinzugefügt. Wenn also ein Objekt der Klasse „Angestellter“ erstellt wird, setzt der Java Compiler bei der Kompilierung automatisch den Wert der Variable „name“ auf „null“ und den Wert der Variable „alter“ auf „0„:

    Objekte sind ein essentieller Bestandteil von Java!

    Wenn es jedoch erforderlich ist, die Werte der Klassenvariablen zur „Laufzeit“ zu initialisieren, dann füge einen „parametrisierten Java Konstruktor“ in Deine Klasse ein:

    Was ist ein parametrisierter Java Konstruktor?

    Ein Konstruktortyp, der die Klassenvariablen mit bestimmten Werten initialisiert, die bei der Erstellung eines Objekts oder zur „Laufzeit“ übergeben werden, wird „parametrisierter Java Konstruktor“ genannt. Ein parametrisierter Java Konstruktor kann mehrere Parameter akzeptieren und weist diese Werte dann „explizit“ dem neu erstellten Klassenobjekt zu.

    Wie man einen parametrisierten Konstruktor erstellt

    Wenn man einen „parametrisierten Java Konstruktor“ erstellen möchte, definiert man eine Methode mit dem „Klassennamen„, die einige „Parameter“ annimmt. Weisen Sie dann im Körper dieses Konstruktors die Werte der übergebenen Parameter den Klassenvariablen zu:

    Mitarbeiter(parameterEins, parameterZwei,....){
        // Körper des Java-Konstruktors
    } 

    Beispiel

    Wir werden nun einen parametrisierten Konstruktor für die Klasse „Angestellter“ erstellen, der die Variablen „name“ und „alter“ mit den akzeptierten Argumenten „n“ und „a“ initialisiert. Danach erstellen wir ein Objekt der Klasse „Angestellter“ und übergeben „Simon“ und „53“ als Werte der Variablen „name“ und „alter„:

    public class Angestellter {
      String name;
      int alter;
    
      Angestellter(String n, int a) {
        name = n;
        alter = a;
      }
    
      void infosAusgeben() {
        System.out.println("Name des Mitarbeiters: " + name + ", Alter des Mitarbeiters: " + alter);
      }
    
      public static void main(String[] args) {
        Angestellter angestellter1 = new Angestellter("Simon", 53);
        angestellter1.infosAusgeben();
      }
    }

    Die gegebene Ausgabe bedeutet, dass der parametrisierte Java Konstruktor die Werte für das neu erstellte Objekt der Klasse „Angestellter“ erfolgreich initialisiert hat:

    So erstellst du parametisierte Objekte einer Klasse in Java mit Hilfe vom Konstruktor in Java!

    Das waren alle wesentlichen Informationen über die Verwendung von Java Konstruktoren. Du kannst je nach Bedarf noch weiter recherchieren.

    Zusammenfassung: Konstruktor Java

    Es gibt zwei Arten von Konstruktoren in Java: Standard Java Konstruktoren und parametrisierte Java Konstruktoren. Ein Standard Java Konstruktor weist einem Objekt zum Zeitpunkt der Kompilierung implizit einige vordefinierte Werte zu. Im Gegensatz dazu initialisiert der parametrisierte Java Konstruktor die Klassenvariablen explizit mit einigen spezifischen Werten, die beim Erstellen eines Objekts oder zur Laufzeit übergeben werden. In diesem Beitrag wurde die Funktionsweise von Java Konstruktoren mit Hilfe von Beispielen erläutert, denn diese sind die Grundlagen der Programmierung mit Objekten.

    😩 Gelangweilt von den Udemy & YouTube-Tutorials?!

    Lerne spielerisch Java und komme deiner gutbezahlten (und an der 🌴 liegenden) Traumkarriere einen Schritt weiter.

    TP Star TP Star TP Star TP Star TP Star

    "Für Leute die gerne Python oder Java lernen wollen ist Codegree klasse. Ist nicht wie bei anderen Konkurrenten auf Videokursen aufgebaut..."

    - Lennart Sparbier

    100% kostenlos registrieren · keine Kreditkarte notwendig

    👋 Wir warten bereits auf dich!

    Lerne das, was du wirklich brauchst.

    Im Gegensatz zu der Abendschule oder der alteingesessenen Uni lernst du bei codegree die Sprachen & Pakete, die wirklich im Jobmarkt gesucht werden.

    Logo von Python
    Logo von PyTorch
    Logo von Pandas
    Logo von Matplotlib
    Logo von Java
    Logo von NumPy
    Mehr erfahren

    100% kostenlos registrieren · keine Zahlungsdaten notwendig