AW: Programmieren in Eclipse / Schule / Hilfe!!
Ja, "extends" ist das Schlüsselwort zum definieren einer Subklasse. Natürlich musst Du nach "extends" noch die Klasse nennen, von der geerbt werden soll.
Zu Deinem Auto-Beispiel:
"KFZ" wäre in Deinem Beispiel die Hautpklasse von "Auto", "BMW" ist allerdings dann eine Instanz von Auto und keine eigene Klasse, da BWM ja ein Auto bzw. ein Hersteller ist ("Auto" hätte dann Attribute implementiert wie z.B. Typ, Hersteller, Modell, Baujahr usw). Frag mal Deinen Lehrer bzgl. Spezialisierung.
Codefragment:
einAuto Auto;
einAuto = new Auto("1er", "BMW", "116i", "2004");
Eine andere (bessere) Möglichkeit wäre, eine Klasse "Hersteller" einzuführen und dem "Auto" dafür ein Referenzattribut zu verpassen. D.h. "Auto" hat alle autospezifischen Attribute und Methoden und einen Bezug zum "Hersteller", der wiederum alle herstellerspezifischen Attribute und Methoden hat.
Codefragment:
einHersteller Hersteller;
einAuto Auto;
einHersteller = new Hersteller("BMW");
einAuto = new Auto("1er", einHersteller, "116i", "2004");
/* Hersteller ist hier ein eigenes Object, das im Auto-Attribut Hersteller gespeichert ist */
Idealerweise würde man den Fahrzeugtyp auch als eigene Klasse definieren, so kann man ein Objektmodell ala "jedes Auto hat einen Hersteller und Hersteller produzieren verschiedene Typen" erstellen, das dann in Richtung Allgemeingültigkeit erweitert werden kann...
Zur Startklasse:
Die Startklasse ist die Klasse, bei der die Vererbung beginnt. Standardmäßig ist das "Object", und "Object" kann fast nix (was ja auch richtig ist, die Spezialisierung kommt weiter unten im Vererbungsbaum). "Object" gibt nix aus (schon gar nicht am Bildschirm, da "Object" dumm ist und keine Ahnung hat, was ein Bildschirm ist), von "Object" erben nur alle... Vielleicht hat sich da Euer Lehrer in seinem Beispiel einfach nur irgendwas ausgedacht und als Startklasse eine Klasse definiert, die Objekte auf dem Bildschirm ausgeben kann, dadurch könnten alle Subklassen das dann auch...