Schnittstelle
Konzept
Eine Schnittstelle ist eine Sammlung, die bestimmte Funktionen kapselt . Um einen Verhaltenstyp zu abstrahieren, verwenden Sie Schnittstellenmodifikationen. (Empfohlenes Lernen: Java-Kurs)
public interface InfClass { public void say(); }
Abstrakter Kurs
Konzept
In einfachen Worten Eine Klasse, die eine abstrakte Methode enthält, ist eine abstrakte Klasse. Eine abstrakte Methode hat nur einen Methodenkörper und keine Implementierung.
abstract class AbsClass { abstract void say(); }
Java bietet und unterstützt die Erstellung abstrakter Klassen und Schnittstellen. Ihre Implementierungen haben etwas gemeinsam, der Unterschied ist:
Alle Methoden in der Schnittstelle sind implizit abstrakt. Eine abstrakte Klasse kann sowohl abstrakte als auch nicht abstrakte Methoden enthalten.
Eine Klasse kann viele Schnittstellen implementieren, aber nur eine abstrakte Klasse erben
Eine Klasse muss nicht alle von deklarierten Methoden implementieren abstrakte Klassen und SchnittstellenIn diesem Fall muss die Klasse natürlich auch als abstrakt deklariert werden.
Abstrakte Klassen können Schnittstellen implementieren, ohne Implementierungen von Schnittstellenmethoden bereitzustellen.
In der Java-Schnittstelle deklarierte Variablen sind standardmäßig endgültig. Abstrakte Klassen können nicht-finale Variablen enthalten.
Memberfunktionen in Java-Schnittstellen sind standardmäßig öffentlich. Mitgliedsfunktionen einer abstrakten Klasse können privat, geschützt oder öffentlich sein.
Schnittstellen sind absolut abstrakt und können nicht instanziiert werden, und abstrakte Klassen können nicht instanziiert werden.
Wenn eine Klasse eine Schnittstelle implementiert, muss sie alle Methoden der Schnittstelle implementieren, und eine abstrakte Klasse muss nicht unbedingt
seinDas obige ist der detaillierte Inhalt vonDer Unterschied zwischen Java-Schnittstelle und abstrakter Klasse. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!