Inhaltsverzeichnis
Was ist eine Schnittstelle?
Schnittstellensyntax: ( JDK7. 0)
Klassifizierung von Schnittstellen
Konstante Schnittstelle:
Leere Schnittstelle:
Funktionale Schnittstelle:
Heim Java javaLernprogramm Unterschiede in der Schnittstellensyntax zwischen Java-Versionen sowie Ähnlichkeiten und Unterschiede zwischen abstrakten Klassen und Schnittstellen

Unterschiede in der Schnittstellensyntax zwischen Java-Versionen sowie Ähnlichkeiten und Unterschiede zwischen abstrakten Klassen und Schnittstellen

May 06, 2023 pm 02:52 PM
java

Was ist eine Schnittstelle?

Apropos Schnittstellen: USB ist definitiv jedem bekannt~
Schnittstelle ist ein Standard und eine Spezifikation.
Hinweis: Sobald die Schnittstelle formuliert ist, müssen sowohl Benutzer als auch Implementierer dem Standard folgen.

Unterschiede in der Schnittstellensyntax zwischen Java-Versionen sowie Ähnlichkeiten und Unterschiede zwischen abstrakten Klassen und Schnittstellen

Schnittstellensyntax: ( JDK7. 0)

(1) Schlüsselwort: Schnittstelle
(2) Syntax: Schnittstelle Schnittstellenname{}
(3) Nachdem die Schnittstelle kompiliert wurde, wird die entsprechende .class-Datei generiert
(4) Die Schnittstelle kann keine Objekte erstellen, aber es kann deklariert werden Referenzschnittstellenname Referenzname;
(5) Es gibt keine Konstruktormethode in der Schnittstelle
(6) Alle Eigenschaften in der Schnittstelle sind öffentliche statische Konstanten
(Standard: öffentliches statisches Finale)
(7) Alle Methoden in Die Schnittstelle ist eine öffentliche abstrakte Methode
(standardmäßig geändert durch: öffentliche Zusammenfassung)
Hinweis: Die Standardzugriffsberechtigung der Methode in der Schnittstelle ist öffentlich
Die Standardzugriffsberechtigung der Methode in der Klasse ist die Standardimplementierungsklasse der Schnittstelle:

Syntax:

Klassenname implementiert Schnittstellennamen {}

Hinweis: Das Schlüsselwort der Implementierung lautet implementiert
(1) Wenn die Implementierungsklasse keine abstrakte Klasse werden möchte, muss sie (implementieren ) alle Methoden in der Schnittstelle

(2) Die Implementierungsklasse überschreibt die Methoden in der Schnittstelle. Bei Verwendung einer Methode muss die Zugriffsberechtigung öffentlich sein. Verwendung:
(1) In der Referenz des Schnittstellentyps dürfen nur Objekte der Die entsprechende Implementierungsklasse kann gespeichert werden und spiegelt polymorphe Anwendungen wider


Schnittstellenname Referenzname = neuer Implementierungsklassenname (aktueller Parameter);

Hinweis: Eine Schnittstelle kann mehrere Implementierungsklassen definieren

Vererbung von Schnittstelle: (sehr wichtig~)

Die Beziehung zwischen Schnittstellen ist Mehrfachvererbung

( 1) Eine Schnittstelle kann mehrere übergeordnete Schnittstellen gleichzeitig erben

(2) Syntax:

Schnittstellenschnittstellenname erweitert übergeordneten Schnittstellennamen 1 , Name der übergeordneten Schnittstelle 2{}

Die Beziehung zwischen Klassen und Schnittstellen ist eine Mehrfachimplementierung

(1) Eine Klasse kann mehrere Schnittstellen gleichzeitig implementieren

(2) Syntax:

Klasse Klassenname implementiert Schnittstelle Name 1, Schnittstellenname 2 {}

(3) Eine Klasse kann mehrere Schnittstellen gleichzeitig implementieren und möchte nicht. Um eine abstrakte Klasse zu werden, müssen Sie alle Methoden in allen Schnittstellen implementieren

 (einschließlich Methoden in die übergeordnete Schnittstelle der implementierten Schnittstelle)

Eine Klasse kann mehrere Schnittstellen implementieren und gleichzeitig eine Klasse erben


(1) Wenn eine Klasse erbt Eine übergeordnete Klasse, die mehrere Schnittstellen gleichzeitig implementiert, muss zuerst erben und dann implementieren

(2) Syntax:

Klasse Klassenname erweitert übergeordneten Klassennamen implementiert übergeordnete Schnittstelle 1, übergeordnete Schnittstelle 2 {}

Hinweis: muss zuerst erweitert werden und implementiert dann

Existiert zwischen Klassen: Einzelvererbung--- ------extends

Existiert zwischen Klassen und Schnittstellen: mehrere Implementierungen------implementiert

Existiert zwischen Schnittstellen: Mehrfachvererbung ------extends

Die Auswirkungen von Schnittstellen:

1 Durch eine Mehrfachvererbungsbeziehung zwischen Schnittstellen und eine Mehrfachimplementierungsbeziehung zwischen Klassen und Schnittstellen wird der Polymorphismus vielfältiger und komplexer

2. Wenn nur eine der beiden Parteien der erzwungenen Typkonvertierung ein Schnittstellentyp ist, muss die Kompilierung erfolgreich sein. Die Operation ist in die folgenden zwei Situationen unterteilt:

a. Wenn der tatsächliche Objekttyp, der in der konvertierten Referenz gespeichert ist, einer der zu konvertierenden Typen ist, wird die Operation erfolgreich ausgeführt.

b Die zu konvertierende Kompilierung ist erfolgreich, aber beim Ausführen wird ein Fehler gemeldet, die Fehlermeldung:

Java.lang.ClassCastException (Typkonvertierungsausnahme)

Schnittstellensyntax: (JDK8.0 )

(1) Standardmethode :

a. Name der öffentlichen Standardrückgabewertart (formale Parameterliste) {

                                                                                               using   using using using using '               durch ' s ' durch ' s durch use durch ' durch 's ' durch 's ' durch using ''s ' bis ‐ ‐ ‐‐‐‐ ​, diese Methode darf einen Methodenimplementierungsteil haben

c Die Standardmethode-Zugriffsberechtigung ist öffentlich
d. Die Standardmethode darf überschrieben werden, aber der Zugriffsmodifikator, wenn er überschrieben wird ist öffentlich                                                            


(1) Ab 9.0 können Methoden in der Schnittstelle durch private

( 2) Syntax:


privater Rückgabewerttyp-Methodenname (formale Parameterliste) {                                                                                        mit   mit   mit   mit           mit   mit             mit mit ‐ ‐                     .                          

(3) Private Methoden dienen der internen Verwendung der Schnittstelle und extrahieren normalerweise die gemeinsamen Logikteile anderer Methoden, um die Coderedundanz zu reduzieren.

Klassifizierung von Schnittstellen

Konstante Schnittstelle:

Die Schnittstelle enthält nur Attribute und keine Methoden , und es gibt nur wenige Anwendungen

Leere Schnittstelle:

Wird allgemein als markierte Schnittstelle bezeichnet, es gibt keine Attribute und Abstraktionen in der Schnittstelle;
Zum Beispiel: IO-Objektserialisierung wird angewendet

Funktionale Schnittstelle:

Es gibt und nur eine abstrakte Methode in der Schnittstelle (statisch und Standard sind nicht zu beachten), weit verbreitet in Lambda-Ausdrücken

Was ist der Unterschied zwischen abstrakten Klassen und Schnittstellen? (Denken Sie daran~)

Unterschiede in der Schnittstellensyntax zwischen Java-Versionen sowie Ähnlichkeiten und Unterschiede zwischen abstrakten Klassen und Schnittstellen

Das obige ist der detaillierte Inhalt vonUnterschiede in der Schnittstellensyntax zwischen Java-Versionen sowie Ähnlichkeiten und Unterschiede zwischen abstrakten Klassen und Schnittstellen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Quadratwurzel in Java Quadratwurzel in Java Aug 30, 2024 pm 04:26 PM

Leitfaden zur Quadratwurzel in Java. Hier diskutieren wir anhand eines Beispiels und seiner Code-Implementierung, wie Quadratwurzel in Java funktioniert.

Perfekte Zahl in Java Perfekte Zahl in Java Aug 30, 2024 pm 04:28 PM

Leitfaden zur perfekten Zahl in Java. Hier besprechen wir die Definition, Wie prüft man die perfekte Zahl in Java?, Beispiele mit Code-Implementierung.

Zufallszahlengenerator in Java Zufallszahlengenerator in Java Aug 30, 2024 pm 04:27 PM

Leitfaden zum Zufallszahlengenerator in Java. Hier besprechen wir Funktionen in Java anhand von Beispielen und zwei verschiedene Generatoren anhand ihrer Beispiele.

Weka in Java Weka in Java Aug 30, 2024 pm 04:28 PM

Leitfaden für Weka in Java. Hier besprechen wir die Einführung, die Verwendung von Weka Java, die Art der Plattform und die Vorteile anhand von Beispielen.

Armstrong-Zahl in Java Armstrong-Zahl in Java Aug 30, 2024 pm 04:26 PM

Leitfaden zur Armstrong-Zahl in Java. Hier besprechen wir eine Einführung in die Armstrong-Zahl in Java zusammen mit einem Teil des Codes.

Smith-Nummer in Java Smith-Nummer in Java Aug 30, 2024 pm 04:28 PM

Leitfaden zur Smith-Zahl in Java. Hier besprechen wir die Definition: Wie überprüft man die Smith-Nummer in Java? Beispiel mit Code-Implementierung.

Fragen zum Java Spring-Interview Fragen zum Java Spring-Interview Aug 30, 2024 pm 04:29 PM

In diesem Artikel haben wir die am häufigsten gestellten Fragen zu Java Spring-Interviews mit ihren detaillierten Antworten zusammengestellt. Damit Sie das Interview knacken können.

Brechen oder aus Java 8 Stream foreach zurückkehren? Brechen oder aus Java 8 Stream foreach zurückkehren? Feb 07, 2025 pm 12:09 PM

Java 8 führt die Stream -API ein und bietet eine leistungsstarke und ausdrucksstarke Möglichkeit, Datensammlungen zu verarbeiten. Eine häufige Frage bei der Verwendung von Stream lautet jedoch: Wie kann man von einem Foreach -Betrieb brechen oder zurückkehren? Herkömmliche Schleifen ermöglichen eine frühzeitige Unterbrechung oder Rückkehr, aber die Stream's foreach -Methode unterstützt diese Methode nicht direkt. In diesem Artikel werden die Gründe erläutert und alternative Methoden zur Implementierung vorzeitiger Beendigung in Strahlverarbeitungssystemen erforscht. Weitere Lektüre: Java Stream API -Verbesserungen Stream foreach verstehen Die Foreach -Methode ist ein Terminalbetrieb, der einen Vorgang für jedes Element im Stream ausführt. Seine Designabsicht ist

See all articles