GeeksforGeeks

Precondiții: variabile statice, cuvânt cheie final

Variabilă statică: Atunci când valoarea unei variabile nu variază, atunci nu este o alegere bună să se opteze pentru o variabilă de instanță. În acest moment, putem adăuga modificatorul static la această variabilă. Ori de câte ori declarăm o variabilă ca fiind statică, atunci la nivelul clasei este creată o singură variabilă care este partajată cu obiectele. Orice modificare în această variabilă statică se reflectă în operațiunile celorlalte obiecte. Dacă nu inițializăm o variabilă statică, atunci, în mod implicit, JVM va furniza o valoare implicită pentru variabila statică.

Dar atunci când declarăm o variabilă statică cu modificatorul final, atunci trebuie să avem grijă de următoarele convenții:

  • Declararea variabilelor doar ca statice poate duce la modificarea valorilor lor de către una sau mai multe instanțe ale clasei în care este declarată.
  • Declararea lor ca statică finală vă va ajuta să creați o CONSTANTĂ. Există o singură copie a variabilei care nu poate fi reinitializată.

Puncturi importante despre variabilele statice finale:

  1. Inițializarea variabilei Obligatoriu : Dacă variabila statică este declarată ca finală, atunci trebuie să efectuăm inițializarea în mod explicit, indiferent dacă o folosim sau nu, iar JVM nu va furniza nicio valoare implicită pentru variabila statică finală.

    class Test {
    final static int x;
    public static void main(String args)
    {
    }
    }

    
    

    
    

    Scoate:

    error: variable x not initialized in the default constructor
  2. Inițializare înainte de încărcarea clasei : Pentru variabilele statice finale, este obligatoriu să efectuăm inițializarea înainte de finalizarea încărcării clasei. Putem inițializa o variabilă statică finală în momentul declarării.

    class Test {
    final static int x = 10;
    public static void main(String args)
    {
    System.out.println(x);
    }
    }

    
    

    
    

    Succesiune:

    10
  3. Inițializare în interiorul unui bloc static : Putem, de asemenea, să inițializăm o variabilă statică finală în interiorul unui bloc static, deoarece ar trebui să inițializăm o variabilă statică finală înainte de clasă și știm că blocul static este executat înainte de metoda main().

    class Test {
    final static int x;
    static
    {
    x = 10;
    }
    public static void main(String args)
    {
    System.out.println(x);
    }
    }

    
    

    
    

    Succesiune:

    10

În afară de metodele menționate mai sus, dacă încercăm să inițializăm o variabilă statică finală în altă parte, atunci vom primi o eroare de compilare.

class Test {
final static int x;
public static void m()
{
x = 10;
}
public static void main(String args)
{
System.out.println(x);
}
}



Succesiune:

error: cannot assign a value to final variable x

Implementarea variabilei statice finale

class MainClass {
. final static String company = "GFG";
String name;
int rollno;
public
static void main(String args)
{
MainClass ob = new MainClass();
ob.company = "Geeksforgeeks";
ob.name = "Bishal";
ob.rollno = 007;
System.out.println(ob.company);
System.out.println(ob.name);
System.out.println(ob.rollno);
}
}



Succesiune:

error: cannot assign a value to final variable company

Acest articol este realizat de Bishal Kumar Dubey. Dacă vă place GeeksforGeeks și doriți să contribuiți, puteți, de asemenea, să scrieți un articol folosind contribute.geeksforgeeks.org sau să trimiteți articolul prin poștă la [email protected]. Vedeți articolul dumneavoastră apărând pe pagina principală GeeksforGeeks și ajutați alți Geeks.

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.