Durch die Deklaration der Variablen mit "static" wird nur eine einzige Kopie der Variablen in der entsprechenden Klasse angelegt. Diese Kopie existiert auch, wenn es keine Instanz der Klasse gibt. Solch eine Variable heißt dann "class variable". Sie hat große Ähnlichkeit mit globalen Variablen in anderen Programmiersprachen.
Zugriff:
Außerhalb der Klasse kann auf solch eine Variable
mit <Klassenname>.<Class Variable> zugegriffen werden. Innerhalb
der Klasse kann man den Klassennamen weglassen(Zugriff also mit <Class
Variable>).
public class Circle {
static int num_circles = 0; // class variable: zählt die Anzahl der
// erzeugten Circle-Objekte
public double x, y, r; // instance variables
public
Circle(double x, double y, double r) {
this.x = x; this.y = y; this.r = r;
num_circles++;
}
.
.
.
}
Konstanten in Java werden mit "static final" deklariert.
Das Schlüsselwort "final" bedeutet hier, daß
einmal definierte Variablen nicht mehr verändert werden können.
public class Circle {
public static final double PI = 3.14159;
.
.
.
}
Das Konzept der "class methods" funktioniert analog zu
dem der "class variables".
Eine Klassen-Methode wird mit "static" deklariert, aufgerufen
wird sie mit <Klassenname>.<Class Method> .
Diese Art von Methoden ist globalen Methoden sehr ähnlich.
double distance = Math.sqrt(dx*dx
+ dy*dy)