Staatiline muutuja sisse Java

Staatiline võib olla:

  1. Staatilised muutujad
  2. Staatilised meetodid
  3. Staatilised koodiplokid.

Vaatame kõigepealt staatilisi muutujaid ja staatilisi meetodeid.

Milles on staatiline muutuja Java?

Staatiline muutuja sisse Java on muutuja, mis kuulub klassi ja initsialiseeritakse ainult üks kord täitmise alguses. See on muutuja, mis kuulub klassi, mitte objekti(eksemplari). Staatilised muutujad lähtestatakse ainult üks kord, täitmise alguses. Need muutujad lähtestatakse kõigepealt, enne mis tahes eksemplari muutujate lähtestamist.

  • Üks eksemplar, mida jagavad kõik klassi eksemplarid
  • Staatilisele muutujale pääseb juurde otse klassi nime kaudu ja see ei vaja ühtegi objekti

süntaksit:

<class-name>.<variable-name>

Mis on staatiline meetod Java?

Staatiline meetod sisse Java on meetod, mis kuulub klassi, mitte objekti. Staatiline meetod pääseb juurde ainult staatilistele andmetele. See on meetod, mis kuulub klassi, mitte objekti (eksemplari). Staatiline meetod pääseb juurde ainult staatilistele andmetele. See ei pääse juurde mittestaatilistele andmetele (eksemplari muutujad).

  • Staatiline meetod saab kutsuda ainult teisi staatilisi meetodeid ja ei saa sellelt kutsuda mittestaatilist meetodit.
  • Staatilisele meetodile pääseb juurde otse klassi nime kaudu ja see ei vaja ühtegi objekti
  • Staatiline meetod ei saa mingil juhul viidata „sellele” või „super” märksõnale

süntaksit:

<class-name>.<method-name>

Märge: Peamine meetod on staatiline, kuna see peab olema rakenduse käivitamiseks juurdepääsetav enne mis tahes instantseerimist.

Õpime staatiliste märksõnade nüansse harjutusi tehes!

Näide: kuidas kutsuda staatilisi muutujaid ja meetodeid

Step 1) Kopeerige järgmine kood redaktorisse

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

}

Step 2) Salvestage ja kompileerige kood. Käivitage kood nagu java demo.

Step 3) Eeldatav väljundsaade allpool


Java Staatilised meetodid ja muutujad

Järgmine diagramm näitab, kuidas luuakse võrdlusmuutujaid ja -objekte ning kuidas erinevad eksemplarid pääsevad juurde staatilistele muutujatele.


Java Staatilised meetodid ja muutujad

Step 4) Staatilisele muutujale on võimalik pääseda juurde väljastpoolt klassi, kasutades süntaksit ClassName.Variable_Name. Tühista rida # 7 ja 8 . Salvesta, kompileeri ja käivita. Jälgige väljundit.

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

Step 5) Kommentaaride tühistamise rida 25,26 ja 27. Salvesta, kompileeri ja käivita.

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

Step 6) Viga =? Põhjus on selles, et eksemplarimuutujale ei ole võimalik juurde pääsedaa"Java staatilise klassi meetodist"juurdekasv".

Mis on staatiline blokk? Java?

. staatiline plokk on lauseplokk a sees Java klass, mis käivitatakse klassi esmakordsel laadimisel FMV. staatiline plokk aitab lähtestada staatilisi andmeliikmeid, nagu konstruktorid aitavad initsialiseerida eksemplari liikmeid.

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

Järgmine programm on Java staatilise ploki näide.

Näide: kuidas pääseda juurde staatilisele plokile

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

 	}
}

saate programmi järgmise väljundi.

Value of a = 10
Value of b = 20