(Weitergeleitet von Konstruktor)

Objekterzeugung

Klippstein IT Service

Aus 4webmaster.de

Wechseln zu: Navigation, Suche

Die Erzeugung neuer Objekte / Exemplare einer Klasse bezeichnet man als Instanziierung.
Zuständig dafür sind spezielle Methoden: die Konstruktoren.

Das erzeugte Objekt ist dann ein Exemplar / eine Instanz seine Klasse. Objekt und Klasse sind durch eine spezielle Relation miteinander verbunden, die Ist-Exemplar-von - Relation. Dabei kennt das Objekt seine Klasse, die Klasse kennt aber seine Objekte nicht.

Ist das zu erzeugende Objekt in eine Klassenhierarchie eingebettet, so wird erst der Konstruktor der Superklasse aufgerufen und danach der Konstruktor der Subklasse. Bei der Zerstörung eines Objektes ist es genau umgekehrt: Zunächst wird der Destruktor der Subklasse aufgerufen, dann der der Superklasse.

Konstruktoren in Java

In Java werden Objekte durch Konstruktoren erzeugt, das sind spezielle Methoden.

  • Konstruktoren heißen genauso wie die Klasse. (Daher sind sie die einzigen Methoden mit großem Anfangsbuchstaben.)
  • Konstruktoren geben immer ein Objekt ihrer Klasse zurück. Daher wird der Ergebnisparameter dieser Methode nicht explizit angegeben.

Die Sichtbarkeit eines Konstruktors ist standardmäßig package-private, wie bei allen anderen Methoden auch. Damit der Konstruktor von anderen Klassen auch außerhalb des aktuellen Paketes aufgerufen werden kann, muss er als public ausgewiesen werden.

Fehlt der Konstruktor, so wird standardmäßig ein leerer Konstruktor angelegt:

public Person {
}

Ein solcher leerer Konstruktor erzeugt ein leeres Objekt mit den Attributen der Klasse. In Java werden alle Attribute (Fields) mit dem Wert null oder mit 0 initialisiert, wenn kein anderer Anfangswert vorgegeben ist.

Aufgerufen wird der Konstruktor mit Hilfe des Operators new:

Person julia;         // Deklaration der Referenzvariablen
julia = new Person(); // Objekterzeugung

Die Variable julia enthält danach nicht das Objekt selbst, sondern nur einen Verweis auf den Speicherort des erzeugten Objektes.

In UML wird ein Konstruktor als Klassenmethode gekennzeichnet.




Persönliche Werkzeuge