Interfaces – Verwendung von Schnittstellen in Java

In Java kann eine abgeleitete Klasse nur genau eine Vaterklasse haben. Das Erben von mehr als einer Superklasse (Mehrfachvererbung) ist nicht möglich. Den Entwicklern der Programmiersprache Java war Mehrfachvererbung bekannt und auch die Nachteile die sie mit sich bringt. Ganz auf Mehrfachvererbung verzichten wollten sie aber nicht und schafften einen Mittelweg: das Interface. Interfaces können als Ersatzkonstrukt für Mehrfachvererbung gesehen …

Polymorphismus und Konstruktoren in Java

Polymorphe Methodenaufrufe können in Konstruktoren zu schwerwiegenden Programmfehlern führen, die sehr schwierig zu lokalisieren sind. Aufgrund der Initialisierungsreihenfolge von Konstruktoren besteht die Gefahr, dass Variablen der abgeleiteten Klasse noch nicht initialisiert wurden, die polymorph aufgerufenen überlagerten Methoden diese Variablen jedoch schon verwenden. Daher sollten Aufrufe von Methoden, welche möglicherweise in Subklassen überlagert werden, nicht in Konstruktoren erfolgen. Die Initialisierungsreihenfolge von …

Abstrakte Klassen und Methoden in Java

In diesem Beitrag betrachten wir Klassen, die mindestens eine nicht implementierte (abstrakte) Methode besitzen. Wenn eine Klasse nicht implementierte Methoden besitzt, kann sie nicht instanziiert werden und wird als abstrakte Klasse bezeichnet, da sie keine konkrete Form annehmen kann. Im zweiten Teil dieses Beitrags zeigen wir mit Hilfe einer Beispielanwendung wie abstrakte Klassen und Methoden in Java verwendet werden. Abstrakte …