Tutorials  /  JavaScript

Effektives Arbeiten mit Konstruktoren in Java

Ccentron Redaktion · Oktober 2024 ·4 Min. Lesezeit ·JavaScript, Tutorial

In Java ist der Konstruktor eine spezielle Methode, die dazu dient, eine Instanz einer Klasse zu erstellen. Konstruktoren ähneln herkömmlichen Methoden, unterscheiden sich jedoch in zwei wichtigen Punkten: Ihr Name entspricht immer dem Klassennamen, und sie haben keinen Rückgabewert. Manchmal werden Konstruktoren auch als spezielle Methoden betrachtet, die zum Initialisieren eines Objekts verwendet werden.

Wie funktioniert der Konstruktor?

Immer wenn ein neues Objekt einer Klasse mit dem new-Schlüsselwort erzeugt wird, wird der entsprechende Konstruktor aufgerufen. Dabei wird das Objekt der Klasse erstellt und an den aufrufenden Code zurückgegeben. Da der Konstruktor stets ein Objekt der Klasse zurückgibt, übernimmt dies die Java-Runtime automatisch, und wir sollten keinen Rückgabewert explizit definieren. Falls doch ein Rückgabewert angegeben wird, handelt es sich um eine reguläre Methode und nicht um einen Konstruktor.

Schauen wir uns dazu den folgenden Code in einer Mitarbeiter-Klasse an:

Code
public class Mitarbeiter {

    // Konstruktor
    public Mitarbeiter() {
        System.out.println("Mitarbeiter-Konstruktor");
    }

    // Methode mit gleichem Namen wie die Klasse
    public Mitarbeiter Mitarbeiter() {
        System.out.println("Mitarbeiter-Methode");
        return new Mitarbeiter();
    }
}

Der erste Block zeigt einen Konstruktor, da er keinen Rückgabewert besitzt. Der zweite Block hingegen ist eine Methode, die erneut den Konstruktor aufruft, um eine neue Instanz von Mitarbeiter zurückzugeben. Es wird empfohlen, Methoden nicht nach der Klasse zu benennen, da dies zu Verwirrung führen kann.

VM

Passende Infrastruktur bei centron

Node-Anwendungen wollen deployt werden: ccloud³ VMs mit vollem Root-Zugriff ab 3,12 € im Monat – oder gleich als Managed Server, wenn der Betrieb nicht bei Ihnen liegen soll. Cloud Server mieten →

Verschiedene Arten von Konstruktoren in Java

In Java gibt es drei Arten von Konstruktoren:

  • Standardkonstruktor
  • Konstruktor ohne Parameter
  • Konstruktor mit Parametern

Schauen wir uns diese Konstruktoren im Detail an.

Standardkonstruktor

Wenn wir keinen Konstruktor in einer Klasse definieren, stellt Java automatisch einen Standardkonstruktor bereit. Dieser hat keine Parameter und wird nur verwendet, um das Objekt zu initialisieren. Ein einfaches Beispiel dafür:

Code
public class Daten {

    public static void main(String[] args) {
        Daten d = new Daten();
    }
}

Java fügt hier automatisch den Standardkonstruktor ein, da wir keinen expliziten Konstruktor definiert haben.

Konstruktor ohne Parameter

Ein Konstruktor ohne Parameter wird verwendet, wenn bestimmte Vorinitialisierungen durchgeführt werden sollen, wie das Überprüfen von Ressourcen oder das Einrichten von Verbindungen. Ein Beispiel für einen solchen Konstruktor:

Code
public class Daten {

    // Konstruktor ohne Parameter
    public Daten() {
        System.out.println("Konstruktor ohne Parameter");
    }

    public static void main(String[] args) {
        Daten d = new Daten();
    }
}

Beim Aufruf von new Daten() wird der oben definierte Konstruktor ohne Parameter ausgeführt.

Konstruktor mit Parametern

Ein Konstruktor, der Parameter erwartet, ermöglicht es, beim Erstellen eines Objekts spezifische Werte zu übergeben. Beispiel:

Code
public class Daten {

    private String name;

    // Konstruktor mit Parameter
    public Daten(String n) {
        this.name = n;
        System.out.println("Konstruktor mit Parameter");
    }

    public String getName() {
        return name;
    }

    public static void main(String[] args) {
        Daten d = new Daten("Java");
        System.out.println(d.getName());
    }
}

Hier wird der Name beim Erstellen des Objekts übergeben und in der Instanz gespeichert.

Konstruktorüberladung

In Java ist es möglich, mehrere Konstruktoren mit unterschiedlicher Parameteranzahl zu definieren. Dies wird als Konstruktorüberladung bezeichnet. Ein Beispiel:

Code
public class Daten {

    private String name;
    private int id;

    // Konstruktor ohne Parameter
    public Daten() {
        this.name = "Standardname";
    }

    // Konstruktor mit einem Parameter
    public Daten(String n) {
        this.name = n;
    }

    // Konstruktor mit zwei Parametern
    public Daten(String n, int i) {
        this.name = n;
        this.id = i;
    }

    public String getName() {
        return name;
    }

    public int getId() {
        return id;
    }

    @Override
    public String toString() {
        return "ID = " + id + ", Name = " + name;
    }

    public static void main(String[] args) {
        Daten d = new Daten();
        System.out.println(d);

        d = new Daten("Java");
        System.out.println(d);

        d = new Daten("Max Mustermann", 123);
        System.out.println(d);
    }
}

Private Konstruktoren

Private Konstruktoren werden verwendet, um den Zugriff auf die Konstruktion eines Objekts zu kontrollieren, beispielsweise bei der Implementierung des Singleton-Designmusters. Wenn ein Konstruktor privat ist, kann nur innerhalb der Klasse eine Instanz erstellt werden.

Code
public class Daten {

    // privater Konstruktor
    private Daten() {
        // Implementierung des Singleton-Patterns
    }
}

Fazit

Konstruktoren sind ein grundlegendes Konzept in Java, das für die Initialisierung von Objekten unerlässlich ist. Sie bieten Flexibilität durch Überladung und ermöglichen es, komplexe Initialisierungen vorzunehmen. Mit Zugriffskontrollen wie privaten Konstruktoren lassen sich spezielle Designmuster wie das Singleton-Muster umsetzen.

Jetzt 200 € Guthaben sichern

Testen Sie Ihr Setup auf ccloud³

Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.

centron Redaktion Technische Redaktion

Das Redaktionsteam von centron schreibt Anleitungen aus dem Betriebsalltag: getestet auf unserer eigenen Plattform, betrieben im Rechenzentrum in Hallstadt bei Bamberg.

Kategorie JavaScript
Teilen
Noch offene Fragen?

Our team will help you with your specific setup - in German or English, by people who run the platform themselves.

War dieses Tutorial hilfreich?

Your answer is stored anonymously and helps us improve our tutorials.

Kommentare

No comments yet - be the first to ask a question about this tutorial.

Sign in to comment

Comments are open to centron customers. Sign in to your account to ask a question about this tutorial.

Weiterlesen

Das könnte Sie auch interessieren

Jetzt kostenlos anfangen

Melden Sie sich an und erhalten Sie in den ersten 60 Tagen ein Guthaben von 200 € bei centron.

Dieses Werbeangebot gilt nur für neue Konten. Angebot ausschließlich für Gewerbetreibende.

Jetzt loslegen Sales kontaktieren