Skip to main content

So kannst du Java Konstanten bei der Programmierung nutzen

Java Konstanten – was kann man sich darunter vorstellen?

Du kennst Konstanten in der Mathematik.
Die Kreiszahl Pi ist so eine konstante Zahl.
Diese Zahl ändert sich niemals.
Sie beträgt immer rund 3,141592.

In der Physik gelten die Lichtgeschwindigkeit, der Erdradius oder der absolute Nullpunkt als konstant.
Selbst die Geschwindigkeit mit der sich die Erde um die Sonne dreht, ist nahezu konstant.

Mit einer weiteren Konstante arbeitest du jeden Tag.
Und zwar immer dann, wenn du auf die Uhr schaust.

Ein Tag hat 24 Stunden, eine Stunde hat 60 Minuten und eine Minute 60 Sekunden.

Konstanten sind somit in erster Linie:

  • Grenzwerte bzw. Maxime, wie die Lichtgeschwindigkeit oder der Nullpunkt.
  • Sie sind aber auch Größen, welche es uns ermöglichen die Welt in eine gewisse Ordnung zu bringen.
    Wie bei der Zeitmessung.
  • Wir können durch Konstanten Intervalle schaffen, wie bei der Uhrzeit.
  • Und Konstanten sind feste Richtwerte, damit wir uns in einem gewissen Themenumfeld überhaupt zurecht finden.
    Wie zum Beispiel die Kreiszahl.

Wo gibt es bereits Konstanten in der Java Programmierung?
Der Wertebereich für bestimmte Datentypen ist konstant.
Hier gibt es ganz klare Grenzen – ein Maximum und ein Minimum.
Eine Integer-Zahl kann nur zwischen -2.147.483.648 und 2.147.483.648 liegen.

Oder auch der Arbeitsspeicher, welcher dir in einem bestimmten Computer zur Verfügung steht – ist konstant.
Du kannst nicht einfach so über diesen Grenzwert hinausgehen.

In diesem Beitrag möchte ich dir zeigen, wie du Konstanten in Java anlegst.
Beim Anlegen von Java Konstanten müssen außerdem bestimmte Bedingungen erfüllt sein.
Diese stelle ich dir ebenfalls vor.

Also legen wir los..

Java Konstanten sind immer öffentlich

Und das ist die erste Bedingung.
Eine Konstante muss zugänglich sein.
Sie darf sich also nach außen nicht verstecken.

Alle Java Klassen in einem Programm sollen in der Lage sein, diese Konstante zu nutzen.

Am Beispiel:

public class Konstanten {	
	
	public static void main(String[] args) {
		System.out.println(Long.MIN_VALUE);//Unterer Wertebereich einer Long-Variablen
	}
}

Die Konstante Long.MIN_VALUE gibt die untere Grenze für den Wertebereich eines Long-Datentypen an.
Diese Konstante kannst du in jeder Klasse aufrufen.
Du kannst diese in der main-Methode nutzen.
Aber auch in sämtlichen eigenen Methoden.

Die Frage lautet nun:
Wie machst du eine ganz normale Variable so öffentlich, dass alle Programmteile diese nutzen können?
Ganz einfach. – Durch das Keywort public.

public class Konstanten {
	public int konstante;//Variable muss öffentlich sein -deshalb public
	
	
	
	public static void main(String[] args) {

	}
}

Deklariere eine Variable, zum Beispiel i oder konstante.
Und setze das Keywort public davor und diese ist nach außen sichtbar.

Aber, ganz wichtig dabei ist….
Du musst diese auf Klassenebene anlegen.
Wenn du diese innerhalb einer Methode anlegst, ist es eine lokale Variable.
Und diese ist niemals öffentlich. Denn diese existiert nur innerhalb der Methode, in der du diese anlegst.

Java Konstanten öffentlich

Also merke dir.
Java Konstanten werden außerhalb von Methoden oder Konstruktoren anlegt.
Aber alle Methoden und Konstruktoren können diese sehen.
Der Schlüssel für diese Sichtbarkeit ist das Keywort public.

Java Konstanten sind immer schreibgeschützt.

Und dies ist die zweite Bedingung.
Ganz logisch, denn das ist ja der Zweck einer Konstanten.

Was wäre eine Konstante noch wert, wenn man diese nach Belieben ändern könnte?

Und diesen Schreibschutz, erreichst du durch das Keywort final.
Also setze das Java Keywort final in Deklaration und schon ist die Variable sicher.

public class Konstanten {
	final public int konstante=1;//Final bewirkt, dass der Wert nicht mehr verändert werden kann

}

In dem Moment, wo das Keywort final vor der Variablen steht – musst du ihr auch einen Wert zuweisen.
Aufgrund der Instanzinitialisierung wird beim Programmstart diese Variable angelegt.
Und alle Variablen ohne Wert bekommen einen Default-Wert zugewiesen.

Im Bereich Integer wäre dies der Wert 0.
Das Problem ist dann, dass die Variable mit dem Wert 0 nicht überschrieben werden kann.
Schuld daran ist der final-Modifier.

Java Konstanten können im ganzen Programm genutzt werden.

Die dritte Bedingung wird oft vernachlässigt.
Wenn wir uns diese bisherige Variable „konstante“ anschauen, dann ist diese nicht in allen Teilen des Programmes nutzbar.

Wieso?
Es handelt sich bisher lediglich um eine Instanzvariable der Klasse Konstanten.
Somit steht diese Variable sämtlichen Objekten aus der Klasse Konstanten zur Verfügung.
Objekte aus anderen Klassen können diese nicht nutzen.

Der Unterschied zwischen schreibgeschützten Variablen und echten Java Konstanten.

Es ist eigentlich ganz einfach.

Die Frage lautet:
Wie machen wir diese Variable nun nutzbar für alle Objekte und Klassen?
Ganz einfach. Setze das Keywort static in die Deklaration der Variablen ein.

public class Konstanten {
	final static public int konstante=1;//Static macht aus einer schreibgeschützen Variablen eine Konstante
}

Durch das Keywort static wird aus jeder Instanzvariablen eine Klassenvariable.
Und diese Klassenvariable ist nicht mehr objektabhängig, sondern steht allen Teilen des Programmes zur Verfügung.

So legst du eine Konstante in Java an.

Jetzt hast du die einzelnen Schritte schon vollzogen.

Nochmal ganz kurz:

  • Das Keywort public bewirkt, dass diese Variable nach außen sichtbar wird.
  • Das Keywort final macht diese Variable schreibgeschützt.
  • Das Keywort static macht aus einer objektabhängigen Variablen eine unabhängige Klassenvariable.

Was jetzt noch fehlt ist die richtige Namenskonvention.
Konstanten werden in Java immer komplett groß geschrieben.
Falls du zwei Namen nutzen möchtest, dann verbindest du beide Wörter durch einen Unterstrich.

Andere Programmierer oder du selbst, sehen beim Zugriff auf diese Konstante sofort:

„Ah diese Variable ist komplett großgeschrieben. Es handelt sich somit um eine Konstante.
Dieser Wert kann also nicht geändert werden.“

public class Konstanten {
	final static public int KONSTANTE = 1;// Java Konstante
	final static public int MIN_WERT = 2;//Konstante
	final static public int I = 1;//Konstante
}

So das war es fast schon.
Eines bleibt noch zu sagen.

So kannst du Java Konstanten in anderen Java Klassen nutzen.

Hier nochmal das Beispiel der Long-Konstanten.
Die Konstante wird an der Klasse „Long“ aufgerufen und dann folgt der Name der Konstanten.

public class Konstanten {	
	
	public static void main(String[] args) {
		System.out.println(Long.MIN_VALUE);//Aufruf geschieht über den Klassennamen Long
	}
}

Und genauso so, machst du es auch:

  • Meine Konstanten sind in der Klasse „Konstanten“.
    Somit schreibe ich zuerst den Klassennamen – Konstanten
  • Setze dann den Punkt für die Punktnotation.
  • Und dann schreibst du den Namen der genutzten Konstante.

Hier ist der Java Code zum Nutzen der Konstante in einer anderen Klasse:

public class KonstantenTestKlasse {

	public static void main(String[] args) {
		int u1 = Konstanten.I; //Zuerst der Klassenname und dann die Konstante
		System.out.println(u1);//Zum Test - Ausgabe des Wertes
		
		
		System.out.println(Konstanten.KONSTANTE);//Zum Test -Ausgabe des Wertes
		
		System.out.println(Konstanten.MIN_WERT* 1000);//Zum Test Weiterberechnung mit Java Konstanten
	}
}

Du sieht mit Konstanten lässt sich rechnen.
Du kannst die Werte der Konstanten in anderen Variablen zwischenspeichern.
Oder du lässt dir die Werte auf der Konsole ausgeben.

Zusammenfassung:

  • Java Konstanten sind feste Werte, welche bestimmte Grenzen vorgeben.
  • Oder du nutzt Konstanten, um Nebenrechnungen mit gleichbleibenden Werten durchzuführen.
  • Achte bitte darauf, dass du die Namenskonventionen für Konstanten einhältst.
    Somit sieht jeder und du selbst auch, dass sich hinter einer bestimmten Variablen ein konstanter Wert verbirgt.
  • Beim Zugriff auf Java Konstanten musst du immer die Klasse ansprechen, in welcher sich diese befindet.