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 vรตib olla:
- Staatilised muutujad
- Staatilised meetodid
- 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
Jรคrgmine diagramm nรคitab, kuidas luuakse vรตrdlusmuutujaid ja -objekte ning kuidas erinevad eksemplarid pรครคsevad juurde staatilistele muutujatele.
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


