Merkzettel: Variablen

Die Namensgebung bei objektorientierten Konstrukten von Java ist insofern problematisch, als dass sie sich aus drei Quellen speist: Der Programmiersprache C (Beispiel: Schlüsselwort static für Klassenvariablen, die man somit auch statische Variablen nennt), der Programmiersprache C++ (dort nennt man Instanzvariablen auch Member-Variablen) und theoretischen Überlegungen zur Objektorientierung (dort werden Instanzvariablen oft Attribute genannt). Die Einflüsse des letzten Punktes sind künstliche Intelligenz, Datenmodellierung für Datenbanken, UML etc.

Namensgebung

Übersetzungszeit und Laufzeit

Hier kommt unglücklicherweise noch eine weitere Verwendung von "statisch" vor. Nehmen Sie als Beispiel folgendes Code-Stück:
Object obj = "abc";

Der Bindungs-Keller

Auf dem Bindungs-Keller werden die lokalen Variablen verwaltet. Er ist eine bewusst einfach gehaltene Abstraktion von Vorgängen, die in der Java Virtual Machine stattfinden. In diesem Keller werden sogenannte Bindungs-Frames verkettet gespeichert. Zugriff erfolgt last in, first out (LIFO), nur das oberste Kellerelement ist jeweils sichtbar. Ein Frame kann als Abbildung aufgefasst werden; es werden die Namen lokaler Variablen auf Werte abgebildet. Ein Eintrag eines Frames heisst "Bindung", da der Name an den Wert  gebunden wird. Frames werden als Keller verwaltet, um Rekursion beim Methoden-Aufruf zu ermöglichen. Somit werden in einem Frame alle Daten eines Methodenaufrufs gespeichert und diese Daten entfernt, sobald die Methode verlassen wird.


Letzte Änderung: 2006-06-03