Unterschiede zwischen abstrakter Klasse und Schnittstelle In Java
In Java wird die Abstraktion mit abstrakten Klassen und Schnittstellen erreicht. Beide enthalten abstrakte Methoden, die eine untergeordnete Klasse oder implementierende Klasse implementieren muss. Im Folgenden sind die wichtigen Unterschiede zwischen abstrakten Klasse und einer Schnittstelle.
Sr. No., | Key | Abstract Class | Interface |
---|---|---|---|
1 | Unterstützte Methoden | Abstrakte Klasse kann sowohl eine abstrakte als auch konkrete Methoden haben. | Schnittstelle kann nur abstrakte Methoden haben. Ab Java 8 kann es sowohl standardmäßige als auch statische Methoden haben., |
2 | Multiple Inheritance | Multiple Inheritance is not supported. | Interface supports Multiple Inheritance. |
3 | Supported Variables | final, non-final, static and non-static variables supported. | Only static and final variables are permitted., |
4 | Implementation | Abstract class can implement an interface. | Interface can not implement an interface, it can extend an interface. |
5 | Keyword | Abstract class declared using abstract keyword. | Interface is declared using interface keyword., |
6 | Vererbung | Abstrakte Klasse kann eine andere Klasse mit extends Schlüsselwort erben und eine Schnittstelle implementieren. | Schnittstelle kann nur ein inteface erben. |
7 | Vererbung | Abstrakte Klasse kann mit dem Schlüsselwort extends vererbt werden. | Schnittstelle kann nur mit implements Schlüsselwort implementiert werden., |
8 | Access | Abstract class can have any type of members like private, public. | Interface can only have public members. |
Example of Abstract Class vs Interface
JavaTester.java
Output
Tiger eatsLion eats
Published on 26-Nov-2019 14:37:07
Advertisements