next up previous contents index
Next: Objektzerstörung Up: Klassen und Objekte Previous: Initialisierer

Objekterzeugung

 

Wann werden neue Objekte erzeugt?

Einschub: Die Klasse Class      

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:

1.
Speicherallokation
2.
Default-Initialisierung
3..
Konstruktion des Objektes

Speicherallokation

 

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.

Default-Initialisierung

   


tabular666

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).

Konstruktion von Objekten

 

Ablauf:

tex2html_wrap2154


next up previous contents index
Next: Objektzerstörung Up: Klassen und Objekte Previous: Initialisierer

Peter Pfahler, 1997