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
  1. Welche Konstanten gibt es in der Klasse Integer?[2]
  2. Was drücken diese Konstanten aus?[3]
  3. Welchen Typ haben diese Konstanten?[4]
  4. Wie lauten die Antworten auf die obigen ersten drei Fragen für die Konstanten aus der Klasse Long[5]
  5. Wie lauten die Antworten auf die obigen ersten drei Fragen für die Konstanten aus der Klasse Float[6]
  6. Wie lauten die Antworten auf die obigen ersten drei Fragen für die Konstanten aus der Klasse Double[7]
  7. Wie lauten die Antworten auf die obigen ersten drei Fragen für die Konstanten aus der Klasse Short[8]
  8. Wie lauten die Antworten auf die obigen ersten drei Fragen für die Konstanten aus der Klasse Byte[9]
  9. Wie lauten die Antworten auf die obigen ersten drei Fragen für die Konstanten aus der Klasse Boolean[10]
  10. Wie lauten die Antworten auf die obigen ersten drei Fragen für die Konstanten aus der Klasse Color[11]

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.

Quellen/Lösungen

Bearbeiten
  1. Java coding style guide, Seite 4 (PDF)
  2. Antwort zu Frage 1
  3. Antwort zu Frage 2
  4. Antwort zu Frage 3
  5. Antwort zu Frage 4
  6. Antwort zu Frage 5
  7. Antwort zu Frage 6
  8. Antwort zu Frage 7
  9. Antwort zu Frage 8
  10. Antwort zu Frage 9
  11. Antwort zu Frage 10