Statički može biti:
- Statičke varijable
- Statičke metode
- Statični blokovi koda.
Pogledajmo prvo statičke varijable i statičke metode.
Što je statička varijabla u Javi?
Statička varijabla u Javi je varijabla koja pripada klasi i inicijalizira se samo jednom na početku izvršenja. To je varijabla koja pripada klasi, a ne objektu (instanci). Statičke varijable inicijaliziraju se samo jednom, na početku izvođenja. Te će se varijable prvo inicijalizirati, prije inicijalizacije bilo koje varijable instance.
- Jednu kopiju koju će dijeliti sve instance klase
- Statičkoj varijabli može se izravno pristupiti imenom klase i ne treba joj objekt
Sintaksa:
< class-name>.
Što je statička metoda u Javi?
Statička metoda u Javi je metoda koja pripada klasi, a ne objektu. Statička metoda može pristupiti samo statičkim podacima. To je metoda koja pripada klasi, a ne objektu (instanci). Statička metoda može pristupiti samo statičkim podacima. Ne može pristupiti nestatičnim podacima (varijablama instance).
- Statička metoda može pozvati samo druge statičke metode i iz nje ne može pozvati ne-statičku metodu.
- Statičnoj metodi može se izravno pristupiti imenom klase i ne treba joj objekt
- Statička metoda se ionako ne može pozivati na "ovu" ili "super" ključnu riječ
Sintaksa:
< class-name>.
Napomena: glavna metoda je statična, jer mora biti dostupna da bi se aplikacija mogla pokrenuti, prije nego što se dogodi bilo kakva instancija.
Naučimo nijanse statičnih ključnih riječi radeći neke vježbe!
Primjer: Kako pozvati statičke varijable i metode
Korak 1) Kopirajte sljedeći kod u editor
javni razred Demo {javna statička void glavna (String args []) {Student s1 = novi student ();s1.showData ();Student s2 = novi student ();s2.showData ();//Student.b++;//s1.showData ();}}razred Student {int a; // inicijalizirano na nulustatički int b; // inicijalizira se na nulu samo kada se učita klasa ne za svaki stvoreni objekt.Student(){// Konstruktor koji povećava statičku varijablu bb ++;}public void showData () {System.out.println ("Vrijednost a =" + a);System.out.println ("Vrijednost b =" + b);}// javni statički priraštaj praznine () {// a ++;//}}
Korak 2) Spremite i sastavite kod. Pokrenite kod kao, java Demo .
Korak 3) Očekivani izlaz prikazan je u nastavku
Sljedeći dijagram pokazuje, kako se stvaraju referentne varijable i objekti i kako statičkim varijablama pristupaju različite instance.
Korak 4) Moguće je pristupiti statičkoj varijabli izvan klase koristeći sintaksu ClassName.Variable_Name . Redakcije za komentare br. 7 i 8. Spremi, priredi i pokreni. Promatrajte izlaz.
Value of a = 0Value of b = 1Value of a = 0Value of b = 2Value of a = 0Value of b = 3Korak 5) Komentirajte retke 25,26 i 27. Spremi, priredi i pokreni.
error: non-static variable a cannot be referenced from a static context a++;
Korak 6) Pogreška =? To je zato što nije moguće pristupiti varijabli instance " a " iz java statičke metode klase " inkrement ".
Što je statički blok u Javi?
Statična blok je blok izjave unutar Java klase koja će se izvesti kada se klasa najprije učita u JVM. Statična blok pomaže inicijalizirati statične članove podataka , baš kao i graditelja pomoć inicijalizirati članova stupnju.
class Test{static {//Code goes here}}
Sljedeći program je primjer java statičkog bloka.
Primjer: Kako pristupiti statičnom bloku
javni razred Demo {statički int a;statički int b;statički {a = 10;b = 20;}javna statička void glavna (String args []) {System.out.println ("Vrijednost a =" + a);System.out.println ("Vrijednost b =" + b);}}
dobit ćete sljedeći izlaz programa.
Value of a = 10Value of b = 20