Unterschied zwischen abstrakter Klasse und Schnittstelle in Java
In diesem Artikel werden wir den Unterschied zwischen abstrakter Klasse und Schnittstelle in Java anhand von Beispielen diskutieren. Ich habe die abstrakte Klasse und Schnittstelle in separaten Tutorials zu OOPs-Konzepten behandelt, daher würde ich Ihnen empfehlen, sie zuerst zu lesen, bevor Sie die Unterschiede durchgehen.
1. Abstrakte Klasse in java
2.,
Jeder der oben genannten Punkte wird mit einem Beispiel unten erklärt:
Abstrakte Klasse vs Schnittstelle in Java
Unterschied Nr.,1: Abstrakte Klasse kann nur eine Klasse erweitern oder eine abstrakte Klasse in einer Zeit
Ausgabe:
display3 method
– Schnittstelle erweitern können eine beliebige Anzahl von Schnittstellen in einer Zeit,
Ausgabe:
display2 method
Unterschied No. 2: Abstrakte Klasse kann erweitert werden(vererbt) durch eine Klasse oder eine abstrakte Klasse
Ausgabe:
Example4-display2 method
Schnittstellen erweitert werden kann nur durch Schnittstellen. Klassen müssen sie implementieren, anstatt zu erweitern
Ausgabe:
display1 method
Unterschied Nr.,3: Abstrakte Klasse kann sowohl abstrakte als auch konkrete Methoden haben
Schnittstelle kann nur abstrakte Methoden haben, sie kann keine konkreten Methoden haben
Ausgabe:
display1 method
Unterschied Nr. 4: In der abstrakten Klasse ist das Schlüsselwort ‚abstrakt‘ obligatorisch, um eine Methode als abstrakt zu deklarieren
In Schnittstellen ist das Schlüsselwort ‚abstrakt‘ optional, um eine Methode als abstrakt zu deklarieren, da alle Methoden standardmäßig abstrakt sind
Unterschied Nr.,5: Abstrakte Klasse kann geschützte und öffentliche abstrakte Methoden haben
Schnittstelle kann nur öffentliche abstrakte Methoden haben
Unterschied Nr. 6: Abstrakte Klasse kann statische, endgültige oder statische endgültige Variablen mit jedem Zugriffsspezifizierer haben
Schnittstelle kann nur öffentliche statische endgültige (konstante) Variable haben