Staatiline muutuja sisse Java

โšก Nutikas kokkuvรตte

Staatiline muutuja sisse Java kuulub klassi, mitte รผhelegi objektile ja initsialiseeritakse รผks kord klassi laadimisel. รœks jagatud koopia teenindab kรตiki eksemplare, millele pรครคseb ligi otse klassi nime kaudu ilma objekti loomata.

  • ๐Ÿ“ฆ Staatiline muutuja: Kuulub klassi, jagab รผhte koopiat kรตigi eksemplaride vahel, initsialiseeritakse รผks kord laadimisel.
  • โš™๏ธ Staatiline meetod: Kuulub klassi, pรครคseb ligi ainult staatilistele andmetele ja ignoreerib seda/super.
  • ๐Ÿงฑ Staatiline plokk: Kรคivitub รผks kord, kui klass laadib staatiliste andmete liikmete initsialiseerimiseks.
  • ๐Ÿ”— Access: Staatiliste liikmeteni jรตudmiseks pรถรถrdu otse ClassName.memberi kaudu ilma objektita.
  • โ›” Piirang: Staatiline meetod ei saa otse viidata mittestaatilistele (eksemplari) muutujatele.

Staatiline muutuja sisse Java

Staatiline vรตib olla:

  1. Staatilised muutujad
  2. Staatilised meetodid
  3. Staatilised plokid Code.

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 objektile (eksemplarile). Staatilised muutujad initsialiseeritakse ainult รผks kord, tรคitmise alguses. Need muutujad initsialiseeritakse kรตigepealt, enne mis tahes eksemplari muutujate initsialiseerimist.

  • รœ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

KKK

Staatiline muutuja kuulub klassi ja sellel on รผks jagatud koopia kรตigi objektide jaoks. Eksemplari muutuja kuulub iga objekti juurde ja saab iga eksemplari kohta eraldi koopia, mis initsialiseeritakse objekti loomisel.

Ei. Staatiline meetod pรครคseb ligi ainult staatilistele andmetele ja teistele staatilistele meetoditele. Mittestaatilisele (eksemplari) muutujale staatilisest kontekstist viitamine pรตhjustab kompileerimisvea, kuna objekti pole veel olemas.

Staatiline plokk kรคivitatakse รผks kord, kui klass laaditakse esmakordselt JVM-i, enne mis tahes objekti loomist vรตi peamise meetodi kรคivitamist. Seda kasutatakse staatiliste andmeliikmete initsialiseerimiseks.

Tehisintellekt saab analรผรผsida vรคlja vรตi meetodi kasutamist ja soovitada staatilisi lahendusi, kui andmeid jagatakse kรตigi eksemplaride vahel vรตi kui eksemplari olekut pole vaja.ping Arendajad vรคldivad ebavajalikke objekte ja vรคhendavad mรคlukasutust.

Jah. Tehisintellekti abil teostatav analรผรผs suudab mรคrgistada muudetavat staatilist olekut, mis pรตhjustab lรตimeohutuse probleeme, peidetud globaalseid sรตltuvusi vรตi testimisraskusi, ning pakkuda vรคlja ohutumaid alternatiive, nรคiteks eksemplarivรคlju vรตi sรตltuvuste sรผstimist.

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