Referenzen, Parameter und null
In diesem Kapitel wollen wir uns etwas genauer damit beschäftigen, was Variablen überhaupt sind und was passiert, wenn man sie als Parameter bei Methodenaufrufen verwendet.
Fangen wir jedoch vorne an: eine Variable ist eine Speichereinheit, die einen Wert enthalten kann. Wenn wir eine Variable anlegen, wird irgendwo im Speicher ein Platz reserviert, in den wir unseren Wert dann später reinschreiben können. Wir haben gesehen, dass man Variablen auch anlegen kann, ohne sie zu initialisieren, d.h. in diesem Fall wäre der Wert der Variable direkt nach dem Anlegen uninitialisiert. In der Praxis bedeutet das, dass ein Compiler-Fehler erzeugt wird, wenn man versucht, eine Variable zu lesen, die nicht initialisiert wurde.
Man muss in Java immer unterscheiden zwischen primitiven Datentypen und komplexen Objekten. Eine Variable vom Typ eines primitiven Datentypen nimmt immer einfach nur einen Wert auf, d.h. an der entsprechenden Stelle im Speicher liegt dann tatsächlich dieser Wert. Bei komplexen Objekten ist das anders: das ist ja nicht einfach nur ein Wert, sondern ein komplexes Gebilde. Denken Sie zum Beispiel an unsere Klasse Mensch
aus dem vorherigen Kapitel. Wenn Sie eine Klassen-Variable anlegen, dann wird an der entsprechenden Speicherstelle nur ein Verweis (man sagt auch eine Referenz) auf das eigentliche Objekt vorgehalten.
Aus gut deutsch heißt das: wenn Sie ein Objekt erzeugen, liegt es irgendwo im Speicher. Wenn Sie das Objekt einer Variablen zuweisen, wird jedoch nicht das eigentliche Objekt in der Speichereinheit der Variablen gespeichert, sondern nur eine Referenz auf das Objekt. Eine Referenz können sie sich am ehesten als eine Adresse vorstellen: in der Klassenvariable wird also die Adresse eines Objektes, das sich irgendwo im Speicher befindet, gespeichert.
Das Tutorial steht dann auch zum Download im PDF-Format zur Verfügung.
Eine ausführliche Liste unserer Buchempfehlungen für Java finden Sie hier.
Java-Tutorial Kapitel:
1. Grundlagen: Compiler und Entwicklungsumgebung2. Kernelemente: Variablen und Ausdrücke
3. Ablaufsteuerung in Java
4. Überblick Objektorientierung
5. Primitive Datentypen
6. Ausdrücke und Operatoren
7. Arrays in Java
8. Zeichenketten
9. Klassen und Objekte
10. Referenzen und Parameter
11. Vererbung in Java
12. Exceptions
13. Generics
14. Collections
15. Dateiverarbeitung in Java
16. Nebenläufigkeit
17. Netzwerkprogrammierung
18. Grafische Oberflächen (GUIs)
19. Java-Webtipps
20. Code-Download und Übungen
Für den Zugriff auf die Kapitel 5 - 20 ist eine Registrierung notwendig.
Einloggen
Wenn Sie noch kein Benutzerkonto bei programmierenlernen24.de haben, müssen Sie sich zunächst registrieren, um vollen Zugriff auf unser Java-Tutorial zu bekommen.
Passwort vergessen? Lassen Sie sich hier ein neues zusenden.
Unsere Buchempfehlungen
Oder sehen Sie sich die vollständige Liste der Empfehlungen für Java an.Wir haben auch eine Empfehlung für einen Java-Fernkurs parat.