Staattinen muuttuja sisään Java

Staattinen voi olla:

  1. Staattiset muuttujat
  2. Staattiset menetelmät
  3. Staattiset koodilohkot.

Katsotaanpa ensin staattisia muuttujia ja staattisia menetelmiä.

Mitä staattinen muuttuja sisältää Java?

Staattinen muuttuja sisään Java on muuttuja, joka kuuluu luokkaan ja alustetaan vain kerran suorituksen alussa. Se on muuttuja, joka kuuluu luokkaan eikä objektiin (instanssi). Staattiset muuttujat alustetaan vain kerran, suorituksen alussa. Nämä muuttujat alustetaan ensin, ennen kuin instanssimuuttujat alustetaan.

  • Yksi kopio, joka jaetaan luokan kaikille esiintymille
  • Staattiseen muuttujaan pääsee suoraan luokan nimen kautta, eikä se tarvitse mitään objektia

Syntaksi:

<class-name>.<variable-name>

Missä Static Method on Java?

Staattinen menetelmä sisään Java on menetelmä, joka kuuluu luokkaan eikä objektiin. Staattisella menetelmällä voidaan käyttää vain staattisia tietoja. Se on menetelmä, joka kuuluu luokkaan eikä objektiin (instanssi). Staattisella menetelmällä voidaan käyttää vain staattisia tietoja. Se ei voi käyttää ei-staattisia tietoja (instanssimuuttujat).

  • Staattinen menetelmä voi kutsua vain muita staattisia menetelmiä eikä voi kutsua ei-staattista menetelmää siitä.
  • Staattiseen metodiin pääsee suoraan luokan nimen kautta, eikä se tarvitse objektia
  • Staattinen menetelmä ei voi missään tapauksessa viitata "tähän" tai "super" avainsanoihin

Syntaksi:

<class-name>.<method-name>

Huomautus: päämenetelmä on staattinen, koska sen on oltava käytettävissä, jotta sovellus voi toimia, ennen kuin toteutus tapahtuu.

Opitaan staattisten avainsanojen vivahteet tekemällä harjoituksia!

Esimerkki: Staattisten muuttujien ja menetelmien kutsuminen

Vaihe 1) Kopioi seuraava koodi editoriin

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++;
//}

}

Vaihe 2) Tallenna ja käännä koodi. Suorita koodi kuten java demo.

Vaihe 3) Odotettu tulos näyttää alla


Java Staattiset menetelmät ja muuttujat

Seuraava kaavio näyttää, kuinka viitemuuttujat ja -objektit luodaan ja miten eri esiintymät käyttävät staattisia muuttujia.


Java Staattiset menetelmät ja muuttujat

Vaihe 4) Staattiseen muuttujaan on mahdollista päästä käsiksi luokan ulkopuolelta syntaksin avulla ClassName.Variable_Name. Kommentoi rivit # 7 ja 8 . Tallenna, käännä ja suorita. Tarkkaile lähtöä.

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

Vaihe 5) Kommentoinnin poistaminen rivit 25,26 ja 27. Tallenna, käännä ja suorita.

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

Vaihe 6) Virhe =? Tämä johtuu siitä, että esiintymämuuttujaa ei ole mahdollista käyttääa" Java staattisen luokan menetelmästä "lisäys".

Mitä Static Block sisältää Java?

Focus-patjan staattinen lohko on lausekelohko a:n sisällä Java luokka, joka suoritetaan, kun luokka ladataan ensimmäisen kerran JVM. staattinen lohko auttaa alustamaan staattiset datajäsenet, aivan kuten rakentajat auttavat instanssien jäsenten alustamisessa.

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

Seuraava ohjelma on esimerkki Java-staattisesta lohkosta.

Esimerkki: Staattisen lohkon käyttäminen

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

 	}
}

saat seuraavan ohjelman tulosteen.

Value of a = 10
Value of b = 20

Tiivistä tämä viesti seuraavasti: