Statička varijabla u Java

Statika može biti:

  1. Statičke varijable
  2. Statičke metode
  3. Statički blokovi koda.

Pogledajmo prvo statičke varijable i statičke metode.

U čemu je statička varijabla Java?

Statička varijabla u Java je varijabla koja pripada klasi i inicijalizirana je samo jednom na početku izvođenja. To je varijabla koja pripada klasi, a ne objektu (instanci). Statičke varijable se inicijaliziraju samo jednom, na početku izvođenja. Ove varijable će se prvo inicijalizirati, prije inicijalizacije bilo koje varijable instance.

  • Jedna kopija koju će dijeliti sve instance klase
  • Statičkoj varijabli može se pristupiti izravno pomoću naziva klase i ne treba nikakav objekt

Sintaksa:

<class-name>.<variable-name>

U čemu je statička metoda Java?

Statička metoda u Java je metoda koja pripada klasi, a ne objektu. Statička metoda može pristupiti samo statičkim podacima. To je metoda koja pripada klasi, a ne objektu (instanci). Statička metoda može pristupiti samo statičkim podacima. Ne može pristupiti nestatičkim podacima (varijable instance).

  • Statička metoda može pozvati samo druge statičke metode i ne može iz nje pozvati nestatičku metodu.
  • Statičkoj metodi može se pristupiti izravno pomoću naziva klase i ne treba nikakav objekt
  • Statička metoda ne može upućivati ​​na ključne riječi "ovo" ili "super".

Sintaksa:

<class-name>.<method-name>

Bilješka: glavna metoda je statična, budući da mora biti dostupna da bi se aplikacija pokrenula, prije nego što se dogodi bilo kakva instancija.

Naučimo nijanse statičkih ključnih riječi radeći neke vježbe!

Primjer: Kako pozvati statičke varijable i metode

Korak 1) Kopirajte sljedeći kod u editor

public class Demo{
   public static void main(String args[]){
     Student s1 = new Student();
     s1.showData();
     Student s2 = new Student();
     s2.showData();
     //Student.b++;
     //s1.showData();
  }
}

class Student {
int a; //initialized to zero
static int b; //initialized to zero only when class is loaded not for each object created.

  Student(){
   //Constructor incrementing static variable b
   b++;
  }

   public void showData(){
      System.out.println("Value of a = "+a);
      System.out.println("Value of b = "+b);
   }
//public static void increment(){
//a++;
//}

}

Korak 2) Spremite i kompajlirajte kod. Pokrenite kôd kao, java Demo.

Korak 3) Očekivani rezultat prikazan je u nastavku


Java Statičke metode i varijable

Sljedeći dijagram pokazuje kako se kreiraju referentne varijable i objekti i kako različite instance pristupaju statičkim varijablama.


Java Statičke metode i varijable

Korak 4) Moguće je pristupiti statičkoj varijabli izvan klase pomoću sintakse Naziv klase.Naziv_varijable. Odkomentirajte retke # 7 i 8. Spremi, prevedi i pokreni. Promatrajte izlaz.

Value of a = 0
Value of b = 1
Value of a = 0
Value of b = 2
Value of a = 0
Value of b = 3

Korak 5) Odkomentirajte retke 25,26, 27 i XNUMX. Spremi, prevedi i pokreni.

	 error: non-static variable a cannot be referenced from a static context a++; 

Korak 6) Greška = ? To je zato što nije moguće pristupiti varijabli instance "a” iz metode statičke java klase “povećanje".

U čemu je Static Block Java?

Korištenje električnih romobila ističe statički blok je blok iskaza unutar a Java klasa koja će se izvršiti kada se klasa prvi put učita u JVM. statički blok pomaže inicijalizirati članove statičkih podataka, baš kao što konstruktori pomažu inicijalizirati članove instance.

class Test{
 static {
 //Code goes here
 }
}

Sljedeći program je primjer statičkog bloka Java.

Primjer: Kako pristupiti statičkom bloku

public class Demo {
 static int a;
 static int b;
 static {
    a = 10;
    b = 20;
 }
 public static void main(String args[]) {

  System.out.println("Value of a = " + a);
  System.out.println("Value of b = " + b);

 	}
}

dobit ćete sljedeći izlaz programa.

Value of a = 10
Value of b = 20