Warum ist u.starte(); falsch?

... komplette Frage anzeigen

2 Antworten

Sieht eigentlich alles richtig aus.

Die Bemerkungen dass das Objekt zuerst nicht instanziiert wird schienen zunächst richtig. Aber das geschieht bereits in deinem Konstruktor. Also das ist nicht das Problem!

Was nicht ersichtlich ist, und was gleichzeitig Sinn ergibt: welche Zugriffsrechte hat denn die Methode: starte() deiner Uhr?

private? protected? public? garnichts?

wenn die Methode private oder protected ist, kannst du von anderen Klassen nicht drauf zugreifen. - Ohne definiertes Zugriffsrecht haben nur andere Klassen aus dem selben Package ein Zugriffsrecht.

Ein richtiges Zugriffsrecht für andere Klassen bewerkstelligst du mit public.

Antwort bewerten Vielen Dank für Deine Bewertung

Es kann sein, dass du den Konstruktor von Uhr aufrufen muss, also

u = new Uhr();
u.starte();
...
Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von KnusperPudding
26.06.2016, 15:03

Dies geschieht im Konstruktor von "Hauptspiel".  - Und das ist sogar relativ vorbildlich gelöst.

0

Was möchtest Du wissen?