Direkt zum Inhalt
Urkunden
Java SchlüsselwörterJava-ArraysJava Objektorientierte ProgrammierungJava File HandlingEinführung in JavaGrundlagen der Java-Sprache

Standard-Schlüsselwort in Java

Das Schlüsselwort default wird in Java auf vielfältige Weise verwendet, vor allem in Switch-Anweisungen und Schnittstellenmethoden. Sie bietet einen Standardfall in switch-Anweisungen und ermöglicht es, dass Methoden in Schnittstellen eine Standardimplementierung haben.

Verwendung

1. Standardfall in Switch-Anweisungen

In einer switch-Anweisung gibt das Schlüsselwort default den Codeblock an, der ausgeführt werden soll, wenn kein Fall auf den switch-Ausdruck passt.

2. Standardmethoden in Interfaces

In Schnittstellen ermöglicht das Schlüsselwort default die Erstellung von Methoden mit einer Standardimplementierung. Diese Funktion, die in Java 8 eingeführt wurde, ermöglicht es, Schnittstellen zu entwickeln, ohne bestehende Implementierungen zu zerstören.

Syntax

Switch-Anweisung

switch (expression) {
    case value1:
        // code block
        break;
    case value2:
        // code block
        break;
    default:
        // default code block
}

Standardmethoden in Interfaces

public interface InterfaceName {
    default void methodName() {
        // default implementation
    }
}

Beispiele

Beispiel 1: Standardfall in der Switch-Anweisung

public class DefaultSwitchExample {
    public static void main(String[] args) {
        int day = 5;
        switch (day) {
            case 1:
                System.out.println("Monday");
                break;
            case 2:
                System.out.println("Tuesday");
                break;
            // other cases
            default:
                System.out.println("Invalid day");
                break;
        }
    }
}

In diesem Beispiel wird der Fall default ausgeführt, wenn der Wert von day mit keinem der angegebenen Fälle übereinstimmt.

Beispiel 2: Standardmethode in der Schnittstelle

public interface MyInterface {
    default void display() {
        System.out.println("Default display method");
    }
}

public class DefaultMethodExample implements MyInterface {
    public static void main(String[] args) {
        DefaultMethodExample example = new DefaultMethodExample();
        example.display(); // Calls the default method
    }
}

Hier hat die Schnittstelle MyInterface eine Standardmethode display(). Die Klasse DefaultMethodExample implementiert diese Schnittstelle, setzt aber die Methode display() nicht außer Kraft, sodass die Standardimplementierung verwendet wird.

Beispiel 3: Überschreiben der Standardmethode

public interface MyInterface {
    default void display() {
        System.out.println("Default display method");
    }
}

public class OverrideDefaultMethodExample implements MyInterface {
    @Override
    public void display() {
        System.out.println("Overridden display method");
    }

    public static void main(String[] args) {
        OverrideDefaultMethodExample example = new OverrideDefaultMethodExample();
        example.display(); // Calls the overridden method
    }
}

In diesem Beispiel überschreibt die Klasse OverrideDefaultMethodExample die Standardmethode display(), die von der Schnittstelle MyInterface bereitgestellt wird.

Tipps und bewährte Praktiken

  • Switch-Anweisungen: Füge in switch-Anweisungen immer einen default case ein, um unerwartete Werte zu behandeln.
  • Interface Evolution: Verwende Standardmethoden in Schnittstellen, um neue Methoden hinzuzufügen, ohne bestehende Implementierungen zu zerstören.
  • Umgang mit Mehrfachvererbung: Wenn mehrere Schnittstellen Standardmethoden mit demselben Namen haben, muss die implementierende Klasse die Mehrdeutigkeit auflösen, indem sie die Methode überschreibt.
  • Überschreibe mit "Vorsicht": Wenn du Standardmethoden überschreibst, musst du sicherstellen, dass die neue Implementierung den bestehenden Vertrag der Schnittstelle nicht bricht.
  • Dokumentation: Dokumentiere das Verhalten der Standardmethoden klar und deutlich, um Verwirrung bei den Benutzern der Schnittstelle zu vermeiden.

Java Grundlagen lernen

Baue deine Java-Kenntnisse von Grund auf auf und beherrsche Programmierkonzepte.
Kostenloses Lernen beginnen