Unterschied und Gemeinsamkeiten von abstrakt und interface - Java?
Hallo Leute, ich lese und lese aber ich versteh das nicht.
- Wieso nutzen wir abstrakte Klassen und was ist eine abstrakte Klasse?
- Wieso nutzen wir interfaces und was ist ein Interface?
- Was sind die Gemeinsamkeiten und Unterschiede von abstract und interface?
Tut mir echt Leid, aber ich versteh das nicht. Das ist glaube ich so simple, aber bin Anfänger, aber brauche dieses Wissen für meine Prüfung diese Woche. Mir ist klar, dass wenn ich so einfache Sachen nicht mal weis, es schwer aussieht. Aber ich lass mich nicht entmutigen und würde mich über Antworten und Erklärungen von euch freuen. Es fällt mir leichter es zu verstehen, so mit Beispielen von euch - anstatt fachspezifisch bezogenen Sprache.
Besten Dank im Voraus!
Lg, Andy
1 Antwort
2. Interfaces sind Zusicherungen für den Compiler über einzelne Eigenschaften deiner Klasse. Wenn du zum Beispiel das Interface Runnable implementierst, versprichst du damit, void run() zu implementieren und deine Klasse damit zu einem Ziel für Threads zu machen.
1. Abstrakte Klassen sind nicht vollständig implementierte und damit nicht nutzbare Klassen, die als Schablone für eine Familie verwandter Klassen dienen sollen, man benutzt sie um eine Menge an Code zu sparen und Verwandtschaft von Klassen bequem auszudrücken.
3. Wie eine Klasse viele verschiedene Eigenschaften haben kann, kann sie auch beliebig viele Interfaces implementieren, aber man kann nur von einer Klasse erben. Es ist dir überlassen, ob das Ding Türen, Fenster, einen Kamin, einen Schornstein hat, aber ob es ein Haus oder ein (sehr merkwürdiges) Auto ist musst du dich entscheiden(vielleicht keins von Beidem, abe rnicht beides.).
Abstrakte Klassen sind oft fast fertige Implementierungen(nicht im implements-Sinne), bei denen man für sehr viel Effekt wenig tun muss, währen Interfaces bis einschließlich Java 7 nichts implementieren(nicht im implements-Sinne) konnten. Seit Java 8 kann man auch sogenannte functional Interfaces für Lambdas machen, was seeehr praktisch aber nicht unbedingt nötig ist.