CodeGym
Aktion
Lernen
Kurse
Aufgaben
Umfragen & Quizze
Spiele
Hilfe
Zeitplan
Community
Nutzer
Forum
Chat
Artikel
Erfolgsgeschichten
Aktivität
Bewertungen
Abonnements
Helles Design

Lektionen

  • Bewertungen
  • Über uns
Start
Jetzt lernen
Jetzt lernen
  • Mein Fortschritt
  • Kurse
  • Quest-Karte
  • Lektionen
  • Implementierung von Abstraktionen und Hierarchien

    JAVA 25 SELF
    Level 19,Lektion 2
    Praktischer Leitfaden zum Aufbau von Klassenhierarchien in Java: von der Abstraktion zu den Details. Anhand von Beispielen mit Figuren, einem Mini‑Editor, Zahlungen und Transport zeigen wir, wie man Gemeinsames in eine Basis‑ abstract-Klasse auslagert, Methoden wie area()/ draw() überschreibt, das System ohne Neuschreiben von Code erweitert und Duplikate vermeidet. Wir schließen mit einem Überblick über typische Fehler und Gestaltungstipps.
    Verfügbar
  • Beispiele für den Aufbau von Abstraktionen in realen Aufgaben

    JAVA 25 SELF
    Level 19,Lektion 3
    Wir üben den Einsatz von Abstraktionen in realen Szenarien: Zahlungen, Transport, Grafikeditor. Wir zeigen, wie man gemeinsames Verhalten in eine grundlegende abstract-Klasse auslagert, über einen gemeinsamen Vertrag arbeitet und „verzweigten“ if- else-Code durch Polymorphismus ersetzt. Unterwegs sehen wir, wie man Methoden wie process(), move(), draw()/ resize() einheitlich aufruft, damit der Code flexibel und erweiterbar bleibt.
    Verfügbar
  • Vereinfachung komplexer Systeme mit Abstraktionen

    JAVA 25 SELF
    Level 19,Lektion 4
    Wie man komplexe Anwendungen in Abstraktionsebenen (UI, Geschäftslogik, Datenzugriff) zerlegt, damit der Code verständlich und erweiterbar bleibt. In der Praxis bauen wir einen kleinen Task‑Manager mit den Schichten Task, TaskRepository, TaskService, zeigen den Austausch von Implementierungen und Vorteile für das Team. Wir besprechen Best Practices, typische Fehler und ein Beispiel mit den Services OrderService/ OrderRepository sowie Methoden wie saveOrder() und findUserById().
    Verfügbar
  • Begriff des Interfaces, Syntax der Deklaration

    JAVA 25 SELF
    Level 20,Lektion 0
    In dieser Vorlesung erfahren Sie, was ein Interface in Java ist, wie man es mit dem Schlüsselwort interface deklariert, wie Klassen den Vertrag über implements erfüllen und warum Methoden standardmäßig als public abstract gelten. Wir beleuchten die Unterschiede zwischen Interface und Klasse, Beispiele aus dem JDK ( Comparable, Runnable, Serializable), ein Schaubild und typische Fehler.
    Verfügbar
  • Unterschiede zwischen Schnittstellen und abstrakten Klassen

    JAVA 25 SELF
    Level 20,Lektion 1
    In dieser Vorlesung vergleichen wir Schnittstellen und abstrakte Klassen in Java: wann man was wählt, worin sie sich in Möglichkeiten und Einschränkungen unterscheiden, wie ihre Signaturen aussehen ( abstract class und interface), was Modifizierer wie public, abstract, static bedeuten, und wir betrachten Beispiele aus dem JDK, Praxisfälle und typische Fehler (Vererbung, Implementierung, Verwendung von implements/ extends).
    Verfügbar
  • Mehrfache Implementierung von Interfaces

    JAVA 25 SELF
    Level 20,Lektion 2
    In dieser Vorlesung besprechen wir, wie eine einzige Klasse in Java mehrere Interfaces gleichzeitig implementieren kann: die Syntax mit dem Schlüsselwort implements, die Kombination von Rollen (zum Beispiel Movable, Attackable, Serializable), identische Methodensignaturen, das Ausbleiben des „Diamantproblems“ sowie den Umgang mit Konflikten zwischen default-Methoden. Es gibt praktische Beispiele und eine Analyse typischer Fehler.
    Verfügbar
  • Funktionale Schnittstellen: @FunctionalInterface

    JAVA 25 SELF
    Level 20,Lektion 3
    In der Vorlesung behandeln wir, was eine funktionale Schnittstelle ist (genau eine abstrakte Methode), wie und warum man sie mit der Annotation @FunctionalInterface kennzeichnet, womit eine Schnittstelle per default- und static-Methoden ergänzt werden darf und wie solche Schnittstellen in der Praxis angewendet werden (normale Klassen und anonyme Klassen). Beispiele mit Runnable, Comparator<T> und Schnittstellen aus java.util.function werden durch eine Tabelle und die Analyse typischer Fehler ergänzt.
    Verfügbar
  • Schnittstellen in der Java-Architektur, Entwurfsmuster

    JAVA 25 SELF
    Level 20,Lektion 4
    Wie Schnittstellen Code in eine flexible Architektur verwandeln: Wir programmieren gegen Abstraktionen, injizieren Abhängigkeiten via DI, ersetzen Implementierungen in Tests, fügen neues Verhalten hinzu, ohne den Kern zu ändern ( OCP). Wir betrachten, wie Schnittstellen den Mustern Observer, Strategy, Command zugrunde liegen, und zeigen Praxisbeispiele ( UserRepository, NotificationSender, Zahlungsstrategien).
    Verfügbar
  • Einführung in Lambda-Ausdrücke

    JAVA 25 SELF
    Level 21,Lektion 0
    In dieser Vorlesung behandeln wir Lambda-Ausdrücke in Java: was sie sind und wozu sie dienen, wie Syntax und Kurzformen aufgebaut sind, wie Lambdas mit funktionalen Interfaces ( @FunctionalInterface) zusammenhängen, worin sie sich von anonymen Klassen unterscheiden und wie das Variablen-Capturing funktioniert ( final / effectively final). An praktischen Beispielen mit Runnable, Consumer, Comparator, Function und der Stream-API sehen wir, wie man kürzer und verständlicher schreibt. Wir schließen mit dem Abschnitt „Typische Fehler“ und Tipps, wie man sie vermeidet.
    Verfügbar
  • Method References (::): Methodenreferenzen

    JAVA 25 SELF
    Level 21,Lektion 1
    Kurzanleitung zu Methodenreferenzen in Java: wo und wie man eine Methodenreferenz anstelle von Lambdas verwendet. Wir betrachten 4 Formen: Class::method (statisch und „auf einer Instanz“), object::method, Class::new. Wir verstehen die Zuordnung von Signaturen zu funktionalen Interfaces, vergleichen mit Lambda-Ausdrücken, schauen uns praktische Beispiele mit forEach, sort, map an und besprechen typische Fehler (abweichende Signaturen, Methodenüberladung usw.).
    Verfügbar
  • Default-Methoden in Schnittstellen

    JAVA 25 SELF
    Level 21,Lektion 2
    In dieser Vorlesung erklären wir, warum in Java 8 default-Methoden in Schnittstellen eingeführt wurden, wie sie es ermöglichen, APIs weiterzuentwickeln, ohne alten Code zu brechen, ihre Syntax (Schlüsselwort default vor dem Rückgabetyp) und das Verhalten in Implementierungen. Anhand von Beispielen aus der Standardbibliothek ( List: forEach, replaceAll, sort) betrachten wir die praktische Anwendung. Wir besprechen Einschränkungen: Methoden von Object ( equals/ hashCode/ toString) dürfen nicht überschrieben werden, außerdem die Regeln zur Konfliktauflösung bei Mehrfachimplementierung und typische Fehler.
    Verfügbar
  • Statische Methoden in Schnittstellen

    JAVA 25 SELF
    Level 21,Lektion 3
    Wir beleuchten, wie und warum Schnittstellen in Java statische Methoden erhalten haben: Deklarationssyntax, Unterschied zu default-Methoden, zentrale Einschränkungen (werden nicht vererbt, werden nicht überschrieben, Aufruf nur über den Schnittstellennamen, Zugriff nur auf static-Member, Unterstützung von private static ab Java 9+). In der Praxis schauen wir uns Movable.resetPosition(), einen Hilfs- Logger, die Collection-Fabriken List.of()/ Set.of()/ Map.of() und das Utility Comparator.reverseOrder() an. Am Ende – typische Fehler und wie man sie vermeidet.
    Verfügbar
  • 1
  • ...
  • 9
  • 10
  • 11
  • 12
  • 13
  • ...
  • 30
Lernen
  • Registrierung
  • Java-Kurs
  • Hilfe bei Aufgaben
  • Preise
  • Java-Syntax
Community
  • Nutzer
  • Artikel
  • Forum
  • Chat
  • Erfolgsgeschichten
  • Aktivität
  • Partnerprogramm
Unternehmen
  • Über uns
  • Kontakte
  • Bewertungen
  • Presse
  • CodeGym for EDU
  • FAQ
  • Support
CodeGymCodeGym ist ein Online-Kurs zum Erlernen der Java-Programmierung von Grund auf. Dieser Kurs ist eine perfekte Möglichkeit, Java als Anfänger zu meistern. Er enthält über 1200 Aufgaben mit sofortiger Überprüfung und einen wesentlichen Umfang an Java-Grundlagentheorie. Um Ihren Lernerfolg zu unterstützen, haben wir eine Reihe motivierender Funktionen implementiert: Quizze, Programmierprojekte, Inhalte zum effizienten Lernen und Karriereinformationen für Java-Entwickler.
Folgen Sie uns
Interface-Sprache
English
Deutsch
Español हिन्दी Français Português Polski বাংলা 简体中文 मराठी தமிழ் Italiano Bahasa Indonesia 繁體中文 Nederlands 日本語 한국어 Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский Vietnamese
"Programmierer werden gemacht, nicht geboren" © 2026 CodeGym
MastercardVisa
"Programmierer werden gemacht, nicht geboren" © 2026 CodeGym