Wann werden neue Objekte erzeugt?
new Tisch(); new Kreis(3.2);
Für
existiert zur Laufzeit eines Java-Programms ein Objekt der Klasse Class
Diese Objekte können nur von der virtuellen Maschine erzeugt werden, nicht vom Benutzer-Programm.
Zu jedem Objekt findet man das Klassenobjekt durch getClass() aus der Klasse Object:
Class c = new Diesel().getClass();
Man kann nun z.B. den Klassennamen ausgeben:
Class c = new Diesel().getClass(); System.out.println(c.getName());
Nachzulesen in der API-Dokumentation zu java.lang.Class.
[Ende des Einschubs.]
Der Ablauf der Objekterzeugung:
Reserviere einen Speicherbereich, groß genug für
Gelingt dies nicht, gibt es einen OutOfMemoryError-Fehler.
Gelingt es, werden anschließend alle Instanzvariablen (auch die der Oberklassen) des neuen Objektes mit ihren Default-Werten initialisiert.
null ist ein Ausdruck von einem speziellen Nulltyp, der keinen Namen hat.
null kann an jede Array-, Objekt- oder Interface-Variable zugewiesen werden.
Die Größe von Referenzen wird von der virtuellen Maschine als ein ``Wort'' definiert (i.d.R. 32 oder 64 bits).
Ablauf: