Kommen wir nun zu RechteckTest.java. Schon aus dem ersten Kursteil wissen wir, daß Anwendungen (Sie erinnern sich noch an den Unterschied zu Applets?) eine "main" Methode enthalten müssen. Vorher teilen wir der Laufzeitumgebung mit, daß wir mit Objekten des Typs "Rechteck" arbeiten möchten, und deshalb die Klasse gleichen Namens importiert werden muß. Ist dies geschehen, können wir Variablen dieses Typs deklarieren. Ganz wichtig ist, daß durch solche Deklarationen keineswegs ein neues Objekt instantiiert wird. Deshalb enthalten r1 und r2 auch nur Referenzen auf ein Objekt des Typs Rechteck. In Java müssen Objekte dynamisch erzeugt werden. Dies wird fast immer mit dem "new" Schlüsselwort erreicht. Um ein Objekt zu erhalten, sind also zwei Schritte nötig: das deklarieren einer passenden Variablen und das Instantiieren einer entsprechenden Klasse. Selbstverständlich läßt sich dies in einem Aufwasch erledigen: Rechteck r1 = new Rechteck(10,20); Allerdings gibt es Ausnahmen, die dem Java Programmierer das Leben einfacher machen. Im nächsten Kursteil werde ich mich ausführlicher mit dem Thema Datentypen auseinandersetzen. Fürs erste soll der Hinweis genügen, daß zwischen primitiven Datentypen (boolean, char, byte, ..) und nicht primitiven Datentypen (Objekte und Arrays) unterschieden wird. Primitive Datentypen kommen mit den klassischen C-typischen Definitionen (C macht einen Unterschied zwischen Variablendeklaration und -definition) aus, zum Beispiel: int i = 10; Beschließen möchte ich diesen Kursteil mit einem Blick auf die Arbeit mit Objekten. Beachten Sie die Zeile r1.ausgabe(); in RechteckTest.java. Javas objektorientierter Ansatz wird hier deutlich. Zentrum bildet nicht mehr der Aufruf einer Funktion mit Parametern, sondern das Objekt (r1) steht im Zentrum. C Programmiern sollte die Punkt-Schreibweise leicht fallen, erinnern sie doch an Member-Zugriffe in Strukturen. Konsequenterweise macht Java keinen Unterschied zwischen Variablen und Methoden - in beiden Fällen findet der Punkt (.) Verwendung. JAVA - 9 / 10
|  |  | # 70