Axel Richter: Laden eines Bildes nur sehr langsam

Beitrag lesen

Hallo,

Ich kann mir auch nicht vorstellen, dass ich für das Laden von Bildern Methoden überschreiben muss, wie ich es aber bisher nur sah.

Üblicherweise wird das in Java aber so gemacht. [...]

Hmmm, mit dieser Art zu programmieren muss ich mich wahrscheinlich noch anfreunden. Desweiteren frage ich mich, wie das vorher gehandhabt wurde, da das Überschreiben von Methoden doch erst seit Java 5 funktioniert.

Nein, das ging schon immer. Das ist ja eine grundlegende Methodik der OOP und Java war schon immer _nur_ objektorientiert. Überschrieben wird/wurde eine Methode der Superklassen dann, wenn die Methode der abgeleiteten Klasse genau so heißt, die selben Argumente hat und den selben Objekttyp oder Datentyp zurück gibt, wie die Methode der Superklasse. Dass dies schon immer ging, beweist die Methode public String toString(). Diese ist in allen Objekten vorhanden, wird nur jeweils Objektspezifisch überschrieben.

Die @Override-Notation ab 1.5 zeigt nur dem Compiler, dass hier eine Methode der Superklasse überschrieben wird. Er reagiert dann mit einem Compiler-Fehler, wenn das schief läuft. Wenn man es also macht, wie immer, kann man @Override weglassen. Und diese Notation erlaubt, dass der Rückgabewert nicht absolut identisch sein muss. Er kann nun auch ein vom Rückgabenwert der zu überschreibenden Methode abgeleiteter Objekttyp sein.

viele Grüße

Axel