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

Vรตta see postitus kokku jรคrgmiselt: