Java promenljive: upoznajte karakteristike i namene lokalnih, instanca, statičkih i konstantnih promenljivih
Java promenljive će se ubuduće često koristiti, pa hajde da unapred otkrijemo ponešto o njima.
Java promenljiva je poput kontejnera koji čuva vrednosti tokom izvršavanja programa. Prilikom deklaracije definiše se njen odgovarajući tip podataka (Java deli tipove podataka na dve kategorije: primitivne i referentne). Prema opsegu važenja, promenljive se dele na tri tipa: lokalne promenljive, članske (instanca) promenljive i statičke promenljive.
Na primer, int data = 88; — ovde je data promenljiva, njena vrednost je 88, a tip je ceo broj (int).
01,Lokalne promenljive
Promenljive deklarisane unutar tela metode nazivaju se lokalne promenljive; one se mogu koristiti samo unutar te metode i druge metode klase ne znaju za njih. Pogledajmo sledeći primer:
public class LocalVariable {
public static void main(String[] args) {
int a = 10;
int b = 10;
int c = a + b;
System.out.println(c);
}
}a, b i c su lokalne promenljive — mogu se koristiti samo unutar ove main metode.
Na šta treba obratiti pažnju pri deklaraciji lokalnih promenljivih:
- Lokalne promenljive se deklarišu u okviru metoda, konstruktora ili blokova koda.
- Lokalne promenljive se kreiraju kada se metoda, konstruktor ili blok koda izvršava, a uništavaju se po završetku njihovog izvršavanja.
- Modifikatori pristupa ne mogu se primenjivati na lokalne promenljive.
- Lokalne promenljive su vidljive samo u metodi, konstruktoru ili bloku u kojem su deklarisane.
- Lokalne promenljive se smeštaju na stek (stack).
- Lokalne promenljive nemaju podrazumevanu vrednost, pa nakon deklaracije moraju biti inicijalizovane pre upotrebe.
02,Članske (instanca) promenljive
Promenljive deklarisane unutar klase, ali izvan tela metoda, nazivaju se članske promenljive, ili instanca promenljive, ili polja. Zovu se instanca promenljive zato što im se može pristupiti isključivo preko instance (objekta) klase. Pogledajmo sledeći primer:
public class InstanceVariable {
int data = 88;
public static void main(String[] args) {
InstanceVariable iv = new InstanceVariable();
System.out.println(iv.data); // 88
}
}Ovde je iv promenljiva, i to referentnog tipa. Ključna reč new kreira instancu klase (koja se naziva i objekat), zatim se operatorom = dodeljuje promenljivoj iv, čime iv postaje referenca na taj objekat. Preko iv.data sada možemo pristupiti članskoj promenljivoj.
Na šta treba obratiti pažnju pri deklaraciji članskih promenljivih:
- Članske promenljive se deklarišu unutar klase, ali izvan metoda, konstruktora i blokova koda.
- Kada se objekat instancira, utvrđuju se vrednosti svake članske promenljive.
- Članske promenljive se kreiraju pri kreiranju objekta, a uništavaju se kada se objekat uništi.
- Vrednost članske promenljive bi trebalo da referencira barem jedna metoda, konstruktor ili blok koda, kako bi spoljašnji svet mogao da dohvati informacije o instanci na te načine.
- Članske promenljive se mogu deklarisati pre ili nakon mesta upotrebe.
- Modifikatori pristupa mogu se primenjivati na članske promenljive.
- Članske promenljive su vidljive metodama, konstruktorima i blokovima koda unutar klase. U pravilu bi trebalo da budu privatne. Upotrebom modifikatora pristupa mogu biti vidljive i podklasama; članske promenljive imaju podrazumevane vrednosti. Podrazumevana vrednost numeričkih promenljivih je 0, bulovih
false, a referentnihnull. Vrednost se može zadati pri deklaraciji ili u konstruktoru.
03,Statičke promenljive
Promenljive deklarisane pomoću ključne reči static nazivaju se statičke promenljive (klasne promenljive); njima može direktno pristupiti klasa. Pogledajmo sledeći primer:
public class StaticVariable {
static int data = 99;
public static void main(String[] args) {
System.out.println(StaticVariable.data); // 99
}
}Ovde je data statička promenljiva; njoj se pristupa preko ImeKlase.statičkaPromenljiva, bez potrebe za kreiranjem instance klase.
Na šta treba obratiti pažnju pri deklaraciji statičkih promenljivih:
- Statičke promenljive se u klasi deklarišu ključnom reči
static, ali moraju stajati izvan metoda, konstruktora i blokova koda. - Koliko god objekata klasa kreirala, klasa poseduje samo jednu kopiju statičke promenljive.
- Osim kada se deklarišu kao konstante, statičke promenljive se retko koriste.
- Statičke promenljive se čuvaju u statičkoj oblasti memorije.
- Statičke promenljive se kreiraju pokretanjem programa, a uništavaju po završetku programa.
- Imaju vidljivost sličnu članskim promenljivama. Ali da bi bile vidljive korisnicima klase, većina statičkih promenljivih se deklariše kao
public. - Podrazumevane vrednosti statičkih promenljivih su slične onima kod instanca promenljivih.
- Statičke promenljive se mogu inicijalizovati i u okviru statičkog bloka koda.
04,Konstante
U Javi vrednosti nekih podataka se ne menjaju; takvi podaci se nazivaju konstante — to su članske promenljive modifikovane ključnom rečju final. Jednom kada se vrednost konstante zada, ne može se više promeniti!
Konstante tokom rada programa imaju uglavnom dve uloge:
- predstavljaju nepromenljive vrednosti i olakšavaju izmene (npr. vrednost broja Pi:
final double PI = 3.14); - povećavaju čitljivost koda (npr. konstante
UPiDOWNpredstavljaju gore i dole:final int UP = 0).
Java zahteva da imena konstanti budu napisana velikim slovima. Pogledajmo sledeći primer:
public class FinalVariable {
final String CHEN = "Chen";
static final String MO = "Mo";
public static void main(String[] args) {
FinalVariable fv = new FinalVariable();
System.out.println(fv.CHEN);
System.out.println(MO);
}
}Dobro, toliko o Java promenljivama za sada.
"Jeste, Erge, mislim da ću ih još sretati, zar ne?"
"Oh, sretaćeš ih mnogo puta, koliko i trepneš u jednom danu."
