Besplatni Java kurs - 59. deo
Ovo je samo jedan od članaka koji zajedno čine besplatan Java tutorijal.
Već sam nekoliko puta pominjao Java promenljive i uvek sam podrazumevao da su to obične promenljive koje pripadaju objektu. Npr. u članku o Java objektima postoji jednostavna klasa Knjiga koja izgledala ovako:
class Knjiga {
public String naslov;
public String autor;
public int brStranica;
}
Kasnije sam navedenu klasu malo proširio i napravio objekat te klase sa konkretnim vrednostima za sve tri promenljive (naslov
, autor
i brStranica
):
class Knjiga {
public String naslov;
public String autor;
public int brStranica;
public Knjiga(String naslov, String autor, int brStranica){
this.naslov = naslov;
this.autor = autor;
this.brStranica = brStranica;
}
}
class Rad {
public static void main(String args[]){
Knjiga Dina = new Knjiga("Dina", "Frenk Herbert", 704);
}
}
U datom primeru sve tri promenljive (naslov
, autor
i brStranica
) pripadaju objektu Dina
. To je slučaj sa svim običnim promenljivim, one uvek pripadaju određenom objektu. Statičke promenljive su drugačije.
Šta su statičke varijable u Javi?
Statičke promenljive u Javi pripadaju klasi, a ne objektu.
Hajde da sada dodamo statičku varijablu brKnjigaUSvetu
u Klasu Knjiga
:
class Knjiga {
public static int brKnjigaUSvetu;
public String naslov;
public String autor;
public int brStranica;
public Knjiga(String naslov, String autor, int brStranica){
this.naslov = naslov;
this.autor = autor;
this.brStranica = brStranica;
}
}
Možeš da primetiš da se statičke varijable deklarišu isto kao i obične, uz izuzetak da ispred njih mora biti upotrebljena ključna reč static
. Upravo na osnovu te ključne reči Java kompajler će moći da razaznaje statičke varijable od običnih.
Hajde sada da odštampamo jednu običnu promenljivu, npr. autor
i našu statičku varijablu brKnjigaUSvetu
:
class Knjiga {
public static int brKnjigaUSvetu;
public String naslov;
public String autor;
public int brStranica;
public Knjiga(String naslov, String autor, int brStranica){
this.naslov = naslov;
this.autor = autor;
this.brStranica = brStranica;
}
}
class Rad {
public static void main(String args[]){
Knjiga Dina = new Knjiga("Dina", "Frenk Herbert", 704);
System.out.println(Dina.autor);
System.out.println(Knjiga.brKnjigaUSvetu);
}
}
U navedenom primeru možeš da primetiš da se običnoj promenljivoj pristupa preko objekta (Dina.autor
), a da se statičkoj promenljivoj pristupa preko same klase (Knjiga.brKnjigaUSvetu
). Rezultat izvršavanja kôda biće:
Frenk Herbert
0
Pročitaj i nastavak:
Besplatni Java kurs - 60. deo - Šta znači this u programskom jeziku Java?
No comments:
Post a Comment