Benutzer:Exxu/InArbeit02
Statische Konstante
[Bearbeiten]Statische Objekte lassen sich in einer Java-Klasse durch das Schlüsselwort static
definieren. Solche Objekte sind innerhalb des entsprechenden Sichtbarkeitsbereichs jederzeit verwendbar, ohne, dass sie vor der Verwendung erst angelegt (instanziiert) werden müssten.
Sollen diese Objekte während ihrer gesamten Existenz unveränderbar sein, verwendet man das Schlüsselwort final
.
Im Falle, dass es sich um Konstanten handelt, die von jeder anderen Klasse bei Bedarf referenziert werden sollen, wird das entsprechende Objekt zusätzlich als public
deklariert.
Zur formalen Unterscheidung von anderen, nicht konstanten Objekten werden solche – in Java allgemein als Field
bezeichnete – Attribute durchgängig mit Großbuchstaben und eventuell mit Unterstrich und Ziffern benannt.[1]
Derartige Konstanten sind zum Beispiel in der Klasse Integer
zu finden.
Fragen/Aufgaben
[Bearbeiten]Hinweise
[Bearbeiten]Um die drei gestellten Fragen zu einer konkreten Klasse zu beantworten, reicht es, in der Dokumentation der Programmierschnittstelle für die Java-Klassen von Sun nachzuschauen. Unter der Überschrift Field Summary befinden sich die Attribute, in Java als Fields bezeichnet, mit ihren Namen, Typen und einer kurzen Erklärung ihrer Bedeutung.
Für weitergehende Aufklärung kann ein Blick in den Quellcode der Javaklassen von Sun sorgen. Das im Lieferumfang der Java-Standardedition vorhandene komprimierte Dateiarchiv src.jar
oder src.zip
enthält die gewünschten Daten. Zum Beispiel beherbergt die Datei java/lang/Integer.java
den Quellcode zur Javaklasse Integer
(aus dem Standardpaket java.lang
). Die Suche nach MAX_VALUE
im Quellcode liefert die Anweisungszeile:
public
static
final
int MAX_VALUE
= 0x7fffffff;
Folglich repräsentiert
MAX_VALUE
eine ganze Zahl vom primitiven Typ int, deren Wert hier in hexadezimaler Schreibweise als größtmögliche, vier Byte lange Zahl angegeben wurde.
Analog findet man in der Datei java/awt/Color.java
bei einer Suche nach public und final und green die Anweisungszeilen:
public
final
static
Color
green
= new Color(0, 255, 0)
;
public
final
static
Color
GREEN
= green;
Hier wird also das Attribut
green
als Instanz der Klasse Color
mit den RGB-Werten 0 für Rot, 255 für Grün und 0 für Blau angelegt. Das Attribut GREEN
ist dann nur als weiterer möglicher Bezeichner für eine Referenz auf diesen Grünwert eingerichtet - als Zugeständnis an die Bequemlichkeit der Programmierer, die somit die klein- oder die großgeschriebene Variante wählen können.