Java – variabilă statică cu exemplu

, Author

O variabilă statică este comună tuturor instanțelor (sau obiectelor) clasei, deoarece este o variabilă la nivel de clasă. Cu alte cuvinte, se poate spune că doar o singură copie a variabilei statice este creată și partajată între toate instanțele clasei. Alocarea memoriei pentru astfel de variabile are loc o singură dată când clasa este încărcată în memorie.
Ca și variabilele, putem avea blocuri statice, metode statice și clase statice, pentru a citi despre acestea, consultați: Cuvântul cheie static în java.

Sintaxa variabilelor statice

Cuvântul cheie static urmat de tipul de date, urmat de numele variabilei.

static data_type variable_name;

Așa cum am menționat mai sus că variabilele statice sunt partajate între toate instanțele clasei, ele sunt utile atunci când trebuie să facem gestionarea memoriei. În unele cazuri în care dorim să avem o valoare comună pentru toate instanțele, cum ar fi o variabilă globală, atunci este mult mai bine să le declarăm statice, deoarece astfel putem economisi memorie (deoarece pentru variabilele statice se creează o singură copie).

Să înțelegem acest lucru cu un exemplu:

Exemplu de variabilă statică în 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); }}

Succes:

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

Așa cum puteți vedea în exemplul de mai sus, ambele obiecte împart aceeași copie a variabilei statice, de aceea au afișat aceeași valoare a numărului.

Exemplul 2: Variabila statică poate fi accesată direct într-o metodă statică

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(); }}

Sort:

Age is: 30Name is: Steve

Inițializarea variabilelor statice

  1. Variabilele statice sunt inițializate atunci când clasa este încărcată.
  2. Variabilele statice sunt inițializate înainte de a fi creat orice obiect din clasa respectivă.
  3. Variabilele statice sunt inițializate înainte ca orice metodă statică a clasei să fie executată.

Valorile implicite pentru variabilele statice și non-statice sunt aceleași.
întregi primitivi(long, short etc.): 0
puncte flotante primitive(float, double): 0.0
boolean: false
referințe de obiect: null

Variabile finale statice

Variabilele finale statice sunt constante. Să aruncăm o privire la codul de mai jos:

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

Nota: Numele variabilelor constante trebuie să fie în majuscule! puteți folosi underscore(_) între ele.
1) Codul de mai sus se va executa imediat ce clasa MyClass este încărcată, înainte ca metoda statică să fie apelată și chiar înainte ca orice variabilă statică să poată fi accesată.
2) Variabila MY_VAR este publică, ceea ce înseamnă că orice clasă o poate folosi. Este o variabilă statică, deci nu veți avea nevoie de niciun obiect de clasă pentru a o accesa. Este finală, astfel încât valoarea acestei variabile nu poate fi schimbată niciodată în clasa curentă sau în orice clasă.

Puncturi cheie:
Variabila finală are întotdeauna nevoie de inițializare, dacă nu o inițializați, va da o eroare de compilare.

Lasă un răspuns

Adresa ta de email nu va fi publicată.