Siehe unten.
class Fuhrpark { // Instanzvariablen Auto stadtwagen; Auto gelaendewagen; // Konstruktor Fuhrpark( int start1, int end1, double gal1, int start2, int end2, double gal2 ) { stadtwagen = new Auto(start1, end1, gal1); gelaendewagen = new Auto(start2, end2, gal2); } // Instanzmethoden } class FuhrparkTester { public static void main(String[] args) { Fuhrpark meineAutos = new Fuhrpark( 1000, 1234, 10, 777, 999, 20); } }
Dem Konstruktor für Fuhrpark
werden alle Information (in seinen Parametern)
gegeben, die er braucht, um zwei Autos zu erstellen.
Er verwendet dafür den Auto
-Konstruktor (zweimal).
Die Auto
-Objektreferenzen werden sicher in den
Instanzvariablen der Fuhrpark
-Objekte aufbewahrt.
Üblicherweise würden wir sagen, dass meineAutos
ein Fuhrpark
-Objekt ist, das aus zwei Auto
-Objekten besteht.
Aber seien wir vorsichtig: Die Klassendefinition von Fuhrpark
enthält nicht die Definition von Auto
,
und zur Laufzeit enthält der Speicher aus dem ein Fuhrpark
-Objekt besteht
nicht den Speicher aus dem die zwei Auto
-Objekte bestehen.
Wenn ein Fuhrpark
-Objekt konstruiert wird, wie viele neue Objekte gibt es?