Schnittstellen und Objektklassen: Vererbung und Methodenaufruf
In Java bieten Schnittstellen eine Möglichkeit, Verträge zu definieren, die Klassen implementieren können. Wenn man die Beziehung zwischen Schnittstellen und der Objektklasse betrachtet, stellt sich die Frage der Vererbung.
Erben Schnittstellen von der Objektklasse?
Die Antwort lautet Nein . Schnittstellen erben nicht von der Object-Klasse. Im Gegensatz zu Klassen gibt es keine implizite Vererbung einer gemeinsamen Root-Schnittstelle durch alle Schnittstellen.
Methodenaufruf auf Schnittstelleninstanzen
Obwohl nicht von Object geerbt wird, können Sie Methoden aufrufen wie equal() auf Schnittstelleninstanzen. Wie ist das möglich?
Jede Schnittstelle deklariert implizit eine öffentliche abstrakte Methode für jede öffentliche Methode in Object. Selbst wenn eine Schnittstelle die Methode equal() nicht explizit deklariert, wird sie daher implizit als Mitglied deklariert.
Details zur Java-Sprachspezifikation
Die Java-Sprachspezifikation (JLS) liefert Einzelheiten zu diesem Verhalten in § 9.2 Schnittstellenmitglieder:
Schlussfolgerung
Schnittstellen in Java erben nicht von Object. Sie deklarieren jedoch implizit Methoden für alle öffentlichen Objektmethoden, um die Kompatibilität sicherzustellen und den Methodenaufruf auf Schnittstelleninstanzen zu ermöglichen.
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