Titel | Inhalt | Suchen | Index | API | Go To Java 2, Zweite Auflage, Handbuch der Java-Programmierung |
<< | < | > | >> | Kapitel 4 - Datentypen |
Variablen dienen dazu, Daten im Hauptspeicher eines Programms abzulegen und gegebenenfalls zu lesen oder zu verändern. In Java gibt es drei Typen von Variablen:
Daneben betrachtet die Sprachdefinition auch Array-Komponenten und die Parameter von Methoden und Exception-Handlern als Variablen.
Eine Variable in Java ist immer typisiert. Sie ist entweder von einem primitiven Typen oder von einem Referenztypen. Mit Ausnahme eines Spezialfalls bei Array-Variablen, auf den wir später zurückkommen, werden alle Typüberprüfungen zur Compile-Zeit vorgenommen. Java ist damit im klassischen Sinne eine typsichere Sprache. |
|
Um einer Variablen vom Typ T einen Wert X zuzuweisen, müssen T und X zuweisungskompatibel sein. Welche Typen zuweisungskompatibel sind, wird am Ende dieses Kapitels in Abschnitt 4.6 erklärt.
Variablen können auf zwei unterschiedliche Arten verändert werden:
Beide Möglichkeiten werden in Kapitel 5 ausführlich erklärt.
Die Deklaration einer Variable erfolgt in der Form
Typname Variablenname; |
Dabei wird eine Variable des Typs Typname mit dem Namen Variablenname angelegt. Variablendeklarationen dürfen in Java an beliebiger Stelle im Programmcode erfolgen. Das folgende Beispielprogramm legt die Variablen a, b, c und d an und gibt ihren Inhalt auf dem Bildschirm aus:
001 /* Listing0402.java */ 002 003 public class Listing0402 004 { 005 public static void main(String[] args) 006 { 007 int a; 008 a = 1; 009 char b = 'x'; 010 System.out.println(a); 011 double c = 3.1415; 012 System.out.println(b); 013 System.out.println(c); 014 boolean d = false; 015 System.out.println(d); 016 } 017 } |
Listing0402.java |
Die Ausgabe des Programms ist:
1
x
3.1415
false
Die Sichtbarkeit lokaler Variablen erstreckt sich von der Stelle ihrer Deklaration bis zum Ende der Methode, in der sie deklariert wurden. Falls innerhalb eines Blocks lokale Variablen angelegt wurden, sind sie bis zum Ende des Blocks sichtbar. Die Lebensdauer einer lokalen Variable beginnt, wenn die zugehörige Deklarationsanweisung ausgeführt wird. Sie endet mit dem Ende des Methodenaufrufs. Falls innerhalb eines Blocks lokale Variablen angelegt wurden, endet ihre Lebensdauer mit dem Verlassen des Blocks. Es ist in Java nicht erlaubt, lokale Variablen zu deklarieren, die gleichnamige lokale Variablen eines weiter außen liegenden Blocks verdecken. Das Verdecken von Klassen- oder Instanzvariablen ist dagegen zulässig.
Instanzvariablen werden zum Zeitpunkt des Erzeugens einer neuen Instanz einer Klasse angelegt. Sie sind innerhalb der ganzen Klasse sichtbar, solange sie nicht von gleichnamigen lokalen Variablen verdeckt werden. In diesem Fall ist aber der Zugriff mit Hilfe des this-Zeigers möglich: this.name greift immer auf die Instanz- oder Klassenvariable name zu, selbst wenn eine gleichnamige lokale Variable existiert. Mit dem Zerstören des zugehörigen Objektes werden auch alle Instanzvariablen zerstört.
Klassenvariablen leben während der kompletten Laufzeit des Programms. Die Regeln für ihre Sichtbarkeit entsprechen denen von Instanzvariablen.
Titel | Inhalt | Suchen | Index | API | Go To Java 2, Zweite Auflage, Addison Wesley, Version 2.0 |
<< | < | > | >> | © 2000 Guido Krüger, http://www.gkrueger.com |