Aflați despre utilizarea constantelor în Java

Există multe valori în lumea reală care nu se vor schimba niciodată. Un pătrat va avea întotdeauna patru laturi, PI până la trei zecimale va fi întotdeauna 3.142, iar o zi va avea întotdeauna 24 de ore. Aceste valori rămân constante. Când scrieți un program, are sens să le reprezentați în același mod - ca valori care nu vor fi modificate odată ce au fost alocate unei variabile. Aceste variabile sunt cunoscute sub numele de constante.

Declararea unei variabile ca constantă

În declararea variabilelor am arătat că este ușor să atribuiți o valoare unei variabile int:

 numar intOfHoursInADay = 24; 

Știm că această valoare nu se va schimba niciodată în lumea reală, așa că ne asigurăm că nu intră în program. Acest lucru se realizează prin adăugarea modificatorului de cuvinte cheie

final
:
 final int NUMBER_OF_HOURS_IN_A_DAY = 24;

În plus față de

final
Cuvânt cheie, ar fi trebuit să observați că numele variabilei s-a schimbat cu majuscule, conform convenției de denumire Java standard. Acest lucru face mult mai ușor să localizați ce variabile sunt constante în codul dvs..

Dacă acum încercăm și schimbăm valoarea lui

NUMBER_OF_HOURS_IN_A_DAY
:
final int NUMBER_OF_HOURS_IN_A_DAY = 24;

NUMBER_OF_HOURS_IN_A_DAY = 36;

vom primi următoarea eroare de la compilator:

nu poate atribui o valoare variabilei finale NUMBER_OF_HOURS_IN_A_DAY

Același lucru este valabil pentru oricare dintre celelalte variabile de tip de date primitive. Pentru a le transforma în constante, adăugați doar

final
cuvânt cheie la declarația lor.

Unde să declar constantele

Ca și în cazul variabilelor normale, doriți să limitați sfera constantelor la locul în care sunt utilizate. Dacă valoarea constantei este necesară doar într-o metodă, declarați-o acolo:

 public static int CalculHoursInDays (zile int)

 

 final int NUMBER_OF_HOURS_IN_A_DAY = 24;

 zile de întoarcere * NUMBER_OF_HOURS_IN_A_DAY;

 

Dacă este folosită de mai multe metode, declarați-o în partea de sus a definiției clasei:

public class AllAboutHours 

 privat static final int NUMBER_OF_HOURS_IN_A_DAY = 24;

 public int calculatorHoursInDays (zile int)

 

 zile de întoarcere * NUMBER_OF_HOURS_IN_A_DAY;

 

 public int calculHoursInWeeks (săptămâni int)

 

 final int NUMBER_OF_DAYS_IN_A_WEEK = 7;

 săptămâni de întoarcere * NUMBER_OF_DAYS_IN_A_WEEK * NUMBER_OF_HOURS_IN_A_DAY;

 


Observați cum am adăugat și modificatorii de cuvinte cheie

privat
și
static
la declararea variabilă a
NUMBER_OF_HOURS_IN_A_DAY
. Aceasta înseamnă că constanta poate fi utilizată doar de clasa sa (de aici și
privat
domeniul de aplicare), dar puteți să-l faceți la fel de ușor
public
constantă dacă doriți ca alte clase să aibă acces la ea.
static
cuvântul cheie este să permită distribuirea valorii constantei între toate instanțele unui obiect. Deoarece este aceeași valoare pentru fiecare obiect creat, trebuie să aibă doar o singură instanță.

Utilizarea cuvântului cheie final cu obiecte

Este foarte important să vă dați seama că atunci când vine vorba de obiecte, Java nu acceptă constantele așa cum v-ați putea aștepta. Dacă atribuiți o variabilă unui obiect folosind butonul

final
cuvânt cheie înseamnă că variabila va păstra vreodată referința la acel obiect. Nu poate fi modificat pentru a face referire la un alt obiect. Cu toate acestea, aceasta nu înseamnă că conținutul obiectului nu se poate schimba.

O scurtă notă cu privire la cuvântul cheie Const

Este posibil să fi observat în lista de cuvinte rezervate că există un cuvânt cheie numit

const
. Aceasta nu este folosită cu constante, de fapt, nu este folosită deloc în limbajul Java.