Gegenseitige Abhängigkeiten von Klassen
In Java brauchen wir uns keine Gedanken um die Reihenfolge der Deklarationen zu machen. Wo es in anderen Sprachen genau auf die Reihenfolge ankommt, kann in Java eine Klasse eine andere benutzen, auch wenn diese erst später im Programmtext deklariert ist. In C ist dies ein bekanntes Problemfeld: Wir wollen eine Funktion nutzen, müssen diese aber vor dem Aufruf schon deklariert haben. In Java können wir uns ganz und gar auf den Compiler verlassen – es ist seine Aufgabe, mit den Abhängigkeiten zurechtzukommen. Nehmen wir zum Beispiel die Beziehung Spieler und Raum. Deklarieren wir die Spieler-Klasse zuerst, kann der Raum sie nutzen. Dann kennt der Raum aber noch keinen Spieler! Dieses Problem ist glücklicherweise nur in C oder C++ problematisch. In Java hilft uns der Compiler, der während des Übersetzungsvorgangs eine Vorausschau in den Dateien der importierten Pakete und in den eigenen Dateien unternimmt. Die zyklische Abhängigkeit zwischen Spieler und Raum ist völlig unproblematisch.