1. Variabile locale
Să vorbim mai serios despre variabile. Dar de data aceasta nu vom discuta despre structura lor internă. În schimb, ne vom concentra asupra modului în care variabilele interacționează cu codul în care sunt localizate.
Toate variabilele care sunt declarate în cadrul metodelor sunt numite variabile locale . O variabilă locală există doar în blocul de cod în care este declarată. Sau, mai precis, el există din momentul în care este declarat și până la sfârșitul blocului de cod în care este declarat.
Pentru simplitate, să luăm în considerare un exemplu:
Cod | Vizibilitate variabila |
---|---|
|
|
Să vorbim încă o dată despre accesarea variabilelor locale. Iată un bloc de cod format din acolade: acesta poate fi un corp de metodă, corpul unei bucle sau doar un bloc de cod pentru o instrucțiune condiționată. O variabilă declarată într-un bloc de cod există până la sfârșitul acelui bloc de cod.
Dacă o variabilă este declarată în corpul buclei, atunci ea va exista numai în corpul buclei. Este creat și distrus la fiecare iterație a buclei.
Exemplu:
Cod | Vizibilitate variabila |
---|---|
|
|
Am putut declara o a doua variabilă locală numită b
doar pentru că prima b
variabilă nu este vizibilă în blocul de cod în care b
este declarată a doua variabilă.
2. Parametri
După cum am spus mai înainte, fiecare metodă poate avea variabile pe care le numim parametri. Dar vizibilitatea și durata lor de viață?
Totul este simplu. Parametrii sunt creați atunci când execuția intră în metodă (adică când codul metodei începe să se execute). Ele sunt eliminate când metoda se termină. Ele sunt vizibile pe tot corpul metodei.
Exemplu:
Cod | Vizibilitate variabila |
---|---|
|
|
După cum am spus mai devreme, args
este doar o variabilă al cărei tip este o matrice de șiruri. Și ca toți parametrii, este disponibil peste tot în corpul metodei. Acestea fiind spuse, de obicei îl ignorăm în exemplele noastre.
3. Variabile într-o clasă
Vă veți aminti din lecțiile de la nivelul 1 că o clasă poate avea metode și variabile. Metodele sunt uneori numite metode de instanță și variabile — variabile de instanță sau câmpuri. Acestea sunt de fapt sinonime în Java.
Care sunt variabilele (sau câmpurile) unei clase?
Sunt variabile care sunt declarate nu într-o metodă, ci într-o clasă.
Ele pot fi accesate din orice metodă (nestatică) a unei clase. În linii mari, variabilele de instanță sunt variabile care sunt partajate de toate metodele unei clase.
Exemplu:
Cod | Vizibilitate variabila |
---|---|
|
|
În acest exemplu, avem două metode — add()
și remove()
. Metoda add()
incrementează variabilele de instanță sum
și count
, iar remove()
metoda scade variabilele sum
și count
. Ambele metode funcționează pe variabile de instanță partajată.
Variabilele locale există în timpul executării unei metode. Variabilele de instanță ale unei clase există în cadrul unui obiect al unei clase atâta timp cât acel obiect există. Veți afla detalii despre obiectele unei clase la nivelul următor.
4. Variabile statice
Ca și metodele, variabilele dintr-o clasă pot fi statice sau nestatice. Metodele statice pot accesa doar variabile statice.
La nivelul 11, vom analiza structura variabilelor și metodelor statice și veți înțelege motivele acestor restricții.
Pentru a face o variabilă statică (variabilă de clasă), trebuie să scrieți static
cuvântul cheie în declarația sa.
Variabilele statice nu sunt legate de un obiect sau instanță a clasei în care sunt declarate. În schimb, ei aparțin clasei în sine. De aceea ele există chiar dacă nu a fost creat niciun obiect al clasei . Vă puteți referi la ele din alte clase folosind un construct precum:
ClassName.variableName
Exemplu:
Cod | Vizibilitate variabila |
---|---|
|
|
În exemplul de mai sus, am creat o Storage
clasă separată, am mutat variabilele count
și sum
în ea și le-am declarat statice . Variabilele statice publice pot fi accesate din orice metodă dintr-un program (și nu numai dintr-o metodă).
GO TO FULL VERSION