Java – statische Variable mit Beispiel

, Author

Eine statische Variable ist allen Instanzen (oder Objekten) der Klasse gemeinsam, da sie eine Variable auf Klassenebene ist. Mit anderen Worten kann man sagen, dass nur ein einziges Exemplar der statischen Variable erstellt und von allen Instanzen der Klasse gemeinsam genutzt wird. Die Speicherzuweisung für solche Variablen erfolgt nur einmal, wenn die Klasse in den Speicher geladen wird.
Wie bei den Variablen können wir statische Blöcke, statische Methoden und statische Klassen haben. Um mehr darüber zu erfahren, siehe: Statisches Schlüsselwort in Java.

Statische Variable Syntax

Statisches Schlüsselwort, gefolgt von Datentyp, gefolgt von Variablenname.

static data_type variable_name;

Wie ich oben erwähnt habe, werden die statischen Variablen von allen Instanzen der Klasse gemeinsam genutzt, sie sind nützlich, wenn wir Speicherverwaltung betreiben müssen. In manchen Fällen wollen wir einen gemeinsamen Wert für alle Instanzen haben, wie z.B. eine globale Variable, dann ist es viel besser, sie als statisch zu deklarieren, da dies Speicher sparen kann (weil nur eine einzige Kopie für statische Variablen erstellt wird).

Lassen Sie uns dies anhand eines Beispiels verstehen:

Beispiel für eine statische Variable in Java

class VariableDemo{ static int count=0; public void increment() { count++; } public static void main(String args) { VariableDemo obj1=new VariableDemo(); VariableDemo obj2=new VariableDemo(); obj1.increment(); obj2.increment(); System.out.println("Obj1: count is="+obj1.count); System.out.println("Obj2: count is="+obj2.count); }}

Ausgabe:

Obj1: count is=2Obj2: count is=2

Wie Sie im obigen Beispiel sehen können, teilen sich beide Objekte die gleiche Kopie der statischen Variable, weshalb sie den gleichen Wert der Anzahl anzeigen.

Beispiel 2: Auf statische Variablen kann direkt in einer statischen Methode zugegriffen werden

class JavaExample{ static int age; static String name; //This is a Static Method static void disp(){ System.out.println("Age is: "+age); System.out.println("Name is: "+name); } // This is also a static method public static void main(String args) { age = 30; name = "Steve"; disp(); }}

Ausgabe:

Age is: 30Name is: Steve

Statische Variableninitialisierung

  1. Statische Variablen werden initialisiert, wenn die Klasse geladen wird.
  2. Statische Variablen werden initialisiert, bevor ein Objekt dieser Klasse erstellt wird.
  3. Statische Variablen werden initialisiert, bevor eine statische Methode der Klasse ausgeführt wird.

Standardwerte für statische und nicht-statische Variablen sind gleich.
Primitive Ganzzahlen (long, short usw.): 0
Primitive Fließkommazahlen (float, double): 0.0
Boolesch: false
Objektreferenzen: null

Statische finale Variablen

Die statischen finalen Variablen sind Konstanten. Schauen wir uns den folgenden Code an:

public class MyClass{ public static final int MY_VAR=27;}

Hinweis: Konstante Variablennamen sollten in Großbuchstaben sein! Sie können Unterstriche (_) dazwischen verwenden.
1) Der obige Code wird ausgeführt, sobald die Klasse MyClass geladen ist, bevor eine statische Methode aufgerufen wird und sogar bevor auf eine statische Variable zugegriffen werden kann.
2) Die Variable MY_VAR ist öffentlich, was bedeutet, dass jede Klasse sie verwenden kann. Sie ist eine statische Variable, so dass man kein Objekt der Klasse benötigt, um auf sie zuzugreifen. Sie ist final, d.h. der Wert dieser Variable kann weder in der aktuellen noch in einer anderen Klasse geändert werden.

Schlüsselpunkte:
Eine finale Variable muss immer initialisiert werden, wenn man sie nicht initialisiert, wird ein Kompilierungsfehler ausgelöst.

public class MyClass{ public static final int MY_VAR;}

Error: variable MY_VAR might not have been initialized

Schauen Sie sich folgendes Beispiel an

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.