Der Unterschied zwischen instanziieren, deklarieren und initialisieren

Über die Begriffe instanziieren, deklarieren und initialisieren stolpert man schnell mal beim Programmieren. Aber was bedeuten diese Begriffe eigentlich genau?

Inhaltsverzeichnis

Deklarieren

Unter deklarieren einer Variable versteht man das erste "Erwähnen" der Variable, das dem Compiler sagt "Hallo, ich bin da und kann verwendet werden". In einer statisch typisierten Sprache wie Java bedeutet das auch, dass der deklarierte Typ der Variable festgelegt wird. Der Wert selbst wird bei der Deklaration nicht festgelegt.

String beer;
int number;

Deklaration der variable beer vom Typ String sowie der Variable number vom Typ int.

Initialisieren

Unter dem Begriff Initialisierung wird in der Regel das erste Zuweisen eines Wertes zu einer Variablen verstanden.

String beer = "Hofstettner";
int number = 3;

Die Variablen beer und number wurden im ersten Beispiel deklariert, aber noch nicht initialisiert. Nun wurden die Werte der Variablen "initial mit Werten belegt", also initialisiert.

Anmerkung: Dass die Variablen noch nicht initialisiert sind entspricht nicht ganz der Warheit (siehe hier), aber sich auf die automatische Initialisierung zu verlassen ist dermaßen schlechter Programmierstil, dass wir die Möglichkeit schnell wieder vergessen :).

Instanziieren

Der Begriff Instanziierung (oder auch Instanzierung) hat mit dem Zuweisen eines Werts einer Variable eigentlich nichts zu tun, auch wenn manchmal beim Initialisieren einer Variable ein neues Objekt instanziiert wird.

Der Begriff meint schlicht und einfach das Erzeugen eines neuen Objekts, also einer Instanz, aus einer Klasse.

String beer = new String("Freistädter");

Das Instanziieren eines Objekts geht in Java immer mit dem Aufruf des Konstruktors einher.

↑ Nach oben


Ähnliche Artikel