Care este diferența dintre statică și finală

Principala diferență dintre statică și finală este că static este folosit pentru a defini elementul de clasă care poate fi folosit independent de orice obiect al clasei. In contrast, final este folosit pentru a declara o variabilă constantă sau o metodă care nu poate fi suprascrisă sau o clasă care nu poate fi moștenită.

Static și finale sunt două cuvinte cheie care sunt utilizate în multe orientări obiect orientate spre limbile de programare, cum ar fi Java. Static este folosit cu variabile și metode pentru a defini că aparține clasei, nu obiectului. Pe de altă parte, definiția este utilizată pentru a restricționa accesul utilizatorului la o variabilă, la o metodă sau la o clasă.

Domenii cheie acoperite

1. Ce este static
     - Definiție, funcționalitate
2. Ce este final
     - Definiție, funcționalitate
3. Care este diferența dintre statică și finală
     - Compararea diferențelor cheie

Termeni cheie

Clasă, Variabilă finală, Variabilă statică

Ce este Static

O clasă constă din variabile și metode. Un obiect este creat dintr-o clasă; acest obiect poate fi folosit pentru a apela variabile și metode. Atunci când un membru al clasei este declarat static, nu este necesar să creați un obiect pentru a apela metode și variabile. În schimb, numele clasei poate fi folosit pentru a-l apela. Cu alte cuvinte, static este un cuvânt cheie care aparține mai degrabă clasei decât obiectului.

O variabilă cu cuvântul cheie static se numește o variabilă statică. Ele sunt folosite pentru a face referire la o proprietate comună a unei colecții de obiecte. Aceste variabile primesc memorie la momentul încărcării clasei. Principalul avantaj al unei variabile statice este că ajută la economisirea memoriei.

Figura 1: Variabilă statică

În programul de mai sus, există o variabilă statică numită număr. În constructor, numărul este incrementat cu 1. În programul principal sunt create trei obiecte student. Imprimarea numărului va da rezultatul 3 deoarece există trei obiecte. Variabila numărătoare este împărțită de toate obiectele. De fiecare dată când un obiect este creat, numărarea este incrementată de una. Când se afișează numărul, trebuie scris cu numele clasei (de ex. - Student.count).

O metodă cu cuvântul cheie static este cunoscută ca o metodă statică. Un exemplu este după cum urmează.

Figura 2: Metoda statică

În programul de mai sus, pătratul este o metodă statică. Primeste o valoare intrega. În metoda principală se numește metoda statică, iar valoarea 4 este trecută. Răspunsul din această metodă este stocat în rezultatul variabil și este în cele din urmă tipărit. Aici, numele clasei este folosit pentru a accesa metoda statică. (de exemplu, Calculate.square (4)). Pe de altă parte, metodele statice nu pot folosi membrii non-statici de date sau pot apela direct metode non-statice. Evaluarea unei variabile non-statice printr-o metodă statică va oferi o eroare de compilare a timpului.

Ce este Final

Final este un cuvânt cheie care restricționează utilizatorul. Acesta poate fi folosit în variabile, metode și clase. O valoare a unei variabile finale nu poate fi modificată.

Figura 3: Variabila finală

În programul de mai sus, viteza variabilăLimit este declarată finală. Prin urmare, valoarea sa nu poate fi modificată în metoda de unitate. Deci, afișează o eroare. 

Figura 4: Clasa A

Figura 5: Clasa B

În programul de mai sus, clasa A are o metodă finală numită afișare. Clasa B se extinde A. Astfel, clasa B poate moșteni toate variabilele și metodele clasei A. Clasa B are de asemenea afișarea metodei. Deoarece metoda de afișare a clasei A este finală, aceasta nu permite depășirea acestei metode în clasa B.

Mai mult, o clasă finală nu poate fi extinsă după cum urmează.

Figura 6: Clasa finală

Figura 7: Clasa B

Deoarece clasa A este finală, nu poate fi extinsă sau moștenită de clasa B.

Diferența dintre statică și finală

Definiție

Static este un cuvânt cheie care denotă o variabilă membru sau o metodă care poate fi accesată fără a necesita o instanțiere a clasei din care face parte. În schimb, ultimul este un cuvânt cheie care denotă o entitate care poate fi atribuită o singură dată. Astfel, aceasta explică diferența fundamentală dintre statică și finală. 

variabile

În timp ce variabilele statice pot fi inițializate din nou, variabilele finale nu pot fi inițializate din nou. Aceasta este o diferență majoră între statică și finală. 

metode

Metodele statice pot fi numite prin alte metode statice și pot accesa doar membrii statici ai clasei. Pe de altă parte, metodele finale nu pot fi suprimate. Aceasta este o altă diferență importantă între statică și finală.

Clasă

Un obiect nu poate fi creat dintr-o clasă statică; se compune numai din membri statici. În mod similar, clasele finale nu pot fi moștenite de alte clase.

Concluzie

Static este folosit pentru a defini elementul de clasă care poate fi folosit independent de orice obiect al clasei. Finalul este folosit pentru a declara o variabilă constantă sau o metodă care nu poate fi înlocuită sau o clasă care nu poate fi moștenită. Aceasta este diferența principală dintre statică și finală.

Referinţă:

1. "Cuvânt cheie static în Java - Javatpoint". Www.javatpoint.com, disponibil aici.
2. "Cuvânt cheie final în Java - Javatpoint." Www.javatpoint.com, disponibil aici.