Der Unterschied zwischen abstrakten Klassen und Schnittstellen:
(Empfohlenes Tutorial: Java-Einführungs-Tutorial)
Eine abstrakte Klasse kann sowohl abstrakte Methoden als auch nicht abstrakte gewöhnliche Methoden enthalten, während die Methoden in einer Schnittstelle abstrakt sein müssen Verfahren.
Der Zugriffstyp abstrakter Methoden in abstrakten Klassen kann öffentlich, geschützt oder standardmäßig sein, die abstrakten Methoden in Schnittstellen können jedoch nur öffentlich sein.
Abstrakte Klassen können normale Mitgliedsvariablen haben, während alle Variablen in der Schnittstelle öffentliche statische Endvariablen sind, das heißt, sie sind alle Konstanten.
Abstrakte Klassen können Konstruktoren haben, Schnittstellen jedoch keine Konstruktoren.
Abstrakte Klassen können statische Methoden haben, Schnittstellen jedoch keine statischen Methoden.
Eine Klasse kann mehrere Schnittstellen implementieren, aber nur eine abstrakte Klasse erben. Wenn eine abstrakte Klasse eine Schnittstelle implementiert, können die Methoden in der Schnittstelle der abstrakten Klasse als abstrakte Methoden zugeordnet werden, ohne dass sie implementiert werden müssen, und die Methoden in der Schnittstelle können in Unterklassen der abstrakten Klasse implementiert werden.
Die gleichen Punkte zwischen abstrakten Klassen und Schnittstellen:
(Empfehlung für Lernvideos: Java-Kurs)
kann vererbt werden
kann Methodendeklarationen enthalten
kann nicht instanziiert werden
Abgeleitete Klassen müssen nicht implementierte Methoden implementieren
Das obige ist der detaillierte Inhalt vonWas sind die Gemeinsamkeiten und Unterschiede zwischen abstrakten Klassen und Schnittstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!