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){casevalue1:// code blockbreak;casevalue2:// code blockbreak;default:// default code block}Bereitgestellt von
Standardmethoden in Interfaces
publicinterfaceInterfaceName{defaultvoidmethodName(){// default implementation}}Bereitgestellt von
Beispiele
Beispiel 1: Standardfall in der Switch-Anweisung
publicclassDefaultSwitchExample{publicstaticvoidmain(String[] args){
int day =5;switch(day){case1:
System.out.println("Monday");break;case2:
System.out.println("Tuesday");break;// other casesdefault:
System.out.println("Invalid day");break;}}}Bereitgestellt von
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
publicinterfaceMyInterface{defaultvoiddisplay(){
System.out.println("Default display method");}}publicclassDefaultMethodExampleimplementsMyInterface{publicstaticvoidmain(String[] args){
DefaultMethodExample example =newDefaultMethodExample();
example.display();// Calls the default method}}Bereitgestellt von
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
publicinterfaceMyInterface{defaultvoiddisplay(){
System.out.println("Default display method");}}publicclassOverrideDefaultMethodExampleimplementsMyInterface{
@Override
publicvoiddisplay(){
System.out.println("Overridden display method");}publicstaticvoidmain(String[] args){
OverrideDefaultMethodExample example =newOverrideDefaultMethodExample();
example.display();// Calls the overridden method}}Bereitgestellt von
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.
Das Schlüsselwort
defaultwird 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
defaultden 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
defaultdie 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
Standardmethoden in Interfaces
Beispiele
Beispiel 1: Standardfall in der Switch-Anweisung
In diesem Beispiel wird der Fall
defaultausgeführt, wenn der Wert vondaymit keinem der angegebenen Fälle übereinstimmt.Beispiel 2: Standardmethode in der Schnittstelle
Hier hat die Schnittstelle
MyInterfaceeine Standardmethodedisplay(). Die KlasseDefaultMethodExampleimplementiert diese Schnittstelle, setzt aber die Methodedisplay()nicht außer Kraft, sodass die Standardimplementierung verwendet wird.Beispiel 3: Überschreiben der Standardmethode
In diesem Beispiel überschreibt die Klasse
OverrideDefaultMethodExampledie Standardmethodedisplay(), die von der SchnittstelleMyInterfacebereitgestellt wird.Tipps und bewährte Praktiken
defaultcase ein, um unerwartete Werte zu behandeln.