Erfahren Sie mehr über die Verwendung von Konstanten in Java

Es gibt viele Werte in der realen Welt, die sich niemals ändern werden. Ein Quadrat hat immer vier Seiten, PI bis drei Dezimalstellen sind immer 3,142 und ein Tag hat immer 24 Stunden. Diese Werte bleiben konstant. Wenn Sie ein Programm schreiben, ist es sinnvoll, sie auf dieselbe Weise darzustellen - als Werte, die nicht geändert werden, sobald sie einer Variablen zugewiesen wurden. Diese Variablen werden als Konstanten bezeichnet.

Eine Variable als Konstante deklarieren

Bei der Deklaration von Variablen haben wir gezeigt, dass es einfach ist, einer int-Variablen einen Wert zuzuweisen:

 int numberOfHoursInADay = 24; 

Wir wissen, dass sich dieser Wert in der realen Welt niemals ändern wird, also stellen wir sicher, dass er nicht im Programm enthalten ist. Dies erfolgt durch Hinzufügen des Schlüsselwortmodifikators

Finale
:
 Finale int NUMBER_OF_HOURS_IN_A_DAY = 24;

In Ergänzung zu

Finale
Schlüsselwort Sie sollten bemerkt haben, dass die Groß- und Kleinschreibung des Variablennamens gemäß der Standard-Java-Namenskonvention geändert wurde. Auf diese Weise können Sie leichter erkennen, welche Variablen Konstanten in Ihrem Code sind.

Wenn wir jetzt versuchen, den Wert von zu ändern

NUMBER_OF_HOURS_IN_A_DAY
:
Finale int NUMBER_OF_HOURS_IN_A_DAY = 24;

NUMBER_OF_HOURS_IN_A_DAY = 36;

wir werden den folgenden Fehler vom Compiler bekommen:

Der endgültigen Variablen NUMBER_OF_HOURS_IN_A_DAY kann kein Wert zugewiesen werden

Gleiches gilt für alle anderen primitiven Datentypvariablen. Um sie zu Konstanten zu machen, addieren Sie einfach die

Finale
Schlüsselwort zu ihrer Erklärung.

Wo Konstanten deklariert werden

Wie bei normalen Variablen möchten Sie den Bereich der Konstanten auf den Ort beschränken, an dem sie verwendet werden. Wenn der Wert der Konstante nur in einer Methode benötigt wird, deklarieren Sie ihn dort:

 public static int calculatorHoursInDays (int days)

 

 final int NUMBER_OF_HOURS_IN_A_DAY = 24;

 Rückreisetage * NUMBER_OF_HOURS_IN_A_DAY;

 

Wenn es von mehr als einer Methode verwendet wird, deklarieren Sie es oben in der Klassendefinition:

public class AllAboutHours 

 private static final int NUMBER_OF_HOURS_IN_A_DAY = 24;

 public int berechneStundenInTage (int Tage)

 

 Rückreisetage * NUMBER_OF_HOURS_IN_A_DAY;

 

 public int calculatorHoursInWeeks (int weeks)

 

 final int NUMBER_OF_DAYS_IN_A_WEEK = 7;

 Wochen * NUMBER_OF_DAYS_IN_A_WEEK * NUMBER_OF_HOURS_IN_A_DAY;

 


Beachten Sie, dass ich auch die Keyword-Modifikatoren hinzugefügt habe

Privat
und
statisch
zur Variablendeklaration von
NUMBER_OF_HOURS_IN_A_DAY
. Dies bedeutet, dass die Konstante nur von ihrer Klasse verwendet werden kann (daher der
Privat
Anwendungsbereich), aber Sie könnten es genauso einfach zu einem
Öffentlichkeit
konstant, wenn andere Klassen darauf zugreifen sollen. Das
statisch
Das Schlüsselwort ist, dass der Wert der Konstante von allen Instanzen eines Objekts gemeinsam genutzt werden kann. Da es sich bei jedem erstellten Objekt um denselben Wert handelt, muss nur eine Instanz vorhanden sein.

Verwenden des letzten Schlüsselworts mit Objekten

Es ist sehr wichtig zu wissen, dass Java bei Objekten nicht die erwarteten Konstanten unterstützt. Wenn Sie einem Objekt mit der Taste eine Variable zuweisen

Finale
Schlüsselwort bedeutet, dass die Variable immer nur den Verweis auf dieses Objekt enthält. Es kann nicht geändert werden, um auf ein anderes Objekt zu verweisen. Dies bedeutet jedoch nicht, dass sich der Inhalt des Objekts nicht ändern kann.

Eine kurze Anmerkung zum Const-Schlüsselwort

Möglicherweise haben Sie in der Liste der reservierten Wörter festgestellt, dass ein Schlüsselwort mit dem Namen vorhanden ist

const
. Dies wird nicht mit Konstanten verwendet. In der Java-Sprache wird es überhaupt nicht verwendet.