In Java ist eine Schnittstelle wie ein Vertrag, den Sie für Klassen festlegen. Wenn eine Klasse einer Schnittstelle zustimmt, verspricht sie, die von dieser Schnittstelle definierten Regeln oder Methoden zu befolgen. Stellen Sie sich das wie eine Reihe von Anweisungen vor, die die Klasse befolgen muss.
Schnittstellen sind sehr praktisch, wenn Sie möchten, dass verschiedene Klassen denselben Regeln folgen, diese aber auf ihre eigene Weise implementieren. Stellen Sie sich eine Gruppe von Tieren vor: Ein Vogel fliegt, ein Fisch schwimmt und ein Hund rennt. Wenn Sie möchten, dass sie sich alle „bewegen“, aber auf ihre einzigartige Art und Weise, würden Sie eine Schnittstelle verwenden, um diese „Bewegen“-Aktion zu definieren.
Lassen Sie uns eine einfache Schnittstelle namens Movable erstellen:
public interface Movable { void move(); // Any class that implements Movable must define how to move }
Diese Schnittstelle hat nur eine Methode, move(). Jede Klasse, die dieser Schnittstelle zustimmt, muss über eine move()-Methode verfügen.
Lassen Sie uns einige Klassen erstellen, die die Movable-Schnittstelle implementieren:
public class Bird implements Movable { public void move() { System.out.println("The bird flies."); } } public class Fish implements Movable { public void move() { System.out.println("The fish swims."); } }
Hier stimmen sowohl die Bird-Klasse als auch die Fish-Klasse der Movable-Schnittstelle zu, aber sie haben jeweils ihre eigene Art, sich zu bewegen.
Eine coole Sache an Schnittstellen ist, dass eine Klasse mehr als eine implementieren kann. Nehmen wir an, wir haben auch eine Soundable-Schnittstelle:
public interface Soundable { void makeSound(); }
Eine Hundeklasse könnte sowohl Movable als auch Soundable implementieren:
public class Dog implements Movable, Soundable { public void move() { System.out.println("The dog runs."); } public void makeSound() { System.out.println("The dog barks."); } }
Das bedeutet, dass sich unser Hund sowohl bewegen als auch ein Geräusch machen kann!
Schnittstellen in Java sind eine leistungsstarke Möglichkeit, Regeln über verschiedene Klassen hinweg durchzusetzen und gleichzeitig jeder Klasse die Möglichkeit zu geben, diese Regeln auf ihre eigene, einzigartige Weise zu implementieren. Sie fördern die Flexibilität und Konsistenz Ihres Codes und erleichtern so die Verwaltung und Erweiterung.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3