Java - Unterschied Klasse, Interface und Enum?
In meinem Java Lernbuch wird gerade etwas über die unterschiedlichen Klassen gezeigt. Darunter auch abstrakte Klassen, Interfaces und Enums. Was ist das alles?
Enums verstehe ich noch, dort werden einfach Konstanten ''abgespeichert'', die thematisch zusammen passen. (Also dienen für die Lesbarkeit und Ordnung)
Aber wozu braucht man Interfaces? Und was ist mit den abstrakten Klassen gemeint? Im Buch steht: Abstrakt = Keine Instanzen von Objekten möglich.
Hoffe, dass mich jemand da besser belehren kann, als das Buch.
2 Antworten
Hallo!
Kurz und verständlich, aber sicher nicht allumfänglich::
Interfaces, wie der Name sagt, werden heir eigentlich "nur" Schnittstellen definiert.
Abstracte Klassen -> Baupläne für bestimmte Klassen, haben keine Funktionalität, deswegen können keine Instancen gebildet werden
Gruß
(Irgendwann wirst du die von mir genannten Sätze mit eigenem Wissen vervollständigen.)
Ich möchte noch hinzufügen das Methoden einer Abstrakten Klasse eine Implementierung haben können. Seit Java 8 können Interfacemethoden auch eine dealt Implementierung anbieten. Der größte Unterschied ist jetzt das eine abstrakte Klasse Eigenschaften haben kann und ein Interface nicht. Außerdem kann eine Klasse beliebig viele Interfaces implementieren aber nur von einer Klasse erben.
Denke unmöglich zu beantworten ohne dir die ganze OOP und Polymorphismus erklären zu müssen.