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ă.
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
Clasă, Variabilă finală, Variabilă 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.
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.
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ă.
Î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ă.
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ă.
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.
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ă.
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.