Heim > Java > JavaErste Schritte > Was sind die Gemeinsamkeiten und Unterschiede zwischen abstrakten Klassen und Schnittstellen?

Was sind die Gemeinsamkeiten und Unterschiede zwischen abstrakten Klassen und Schnittstellen?

王林
Freigeben: 2020-08-13 16:51:36
nach vorne
2567 Leute haben es durchsucht

Was sind die Gemeinsamkeiten und Unterschiede zwischen abstrakten Klassen und Schnittstellen?

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!

Verwandte Etiketten:
Quelle:csdn.net
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage