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.
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
FinaleSchlü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;
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
FinaleSchlüsselwort zu ihrer Erklärung.
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
Privatund
statischzur Variablendeklaration von
NUMBER_OF_HOURS_IN_A_DAY. Dies bedeutet, dass die Konstante nur von ihrer Klasse verwendet werden kann (daher der
PrivatAnwendungsbereich), aber Sie könnten es genauso einfach zu einem
Öffentlichkeitkonstant, wenn andere Klassen darauf zugreifen sollen. Das
statischDas 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.
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
FinaleSchlü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.
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.