Java - abstract?

...komplette Frage anzeigen

2 Antworten

abstract = habe keinen Bock die Methode zu programmieren ;).

Der Unterschied sind die {} (ohne abstract). Das ist das, was ausgeführt wird, wenn die Methode aufgerufen ist. In diesem Fall halt überhaupt nichts - aber das ist egal.

Bei einer abstrakten Methode sagst du nur: "ja, es gibt da so eine Methode" - ohne zu spezifizieren, was passieren soll, sollte jemand diese Methode tatsächlich aufrufen.

Logischerweise musst du dann in jeder (nicht-abstrakten) Kind-Klasse diese Methode programmieren (was nebenbei genau genommen kein Überschreiben ist, da du ja noch nichts programmiert hast, was du überschreiben könntest) - eben weil letztendlich jede Methode, die du tatsächlich aufrufen kannst, definiert sein muss.

Genau so ist es.

Hier steht es nochmal auf Englisch erklärt:

http://tutorials.jenkov.com/java/abstract-classes.html

"Subclasses of an abstract class must implement (override) all abstract methods of its abstract superclass. The non-abstract methods of the superclass are just inherited as they are. They can also be overridden, if needed."

Was möchtest Du wissen?