Key Difference - static vs final în Java
Fiecare limbaj de programare are o sintaxă specifică. Programatorul ar trebui să urmeze aceste sintaxi atunci când scrie programe. Cuvintele cheie ale limbajelor de programare au semnificații specifice în funcție de sarcini. Acestea sunt furnizate de limbajul de programare și nu pot fi utilizate pentru variabilele definite de utilizator, metode, clase etc. Staticul și finalul sunt două cuvinte cheie în Java. Acest articol discută despre diferența dintre static și final în Java. Diferența cheie între static și final în Java este că static este utilizat pentru a defini membrul clasei care poate fi utilizat independent de orice obiect al clasei, în timp ce 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.
CUPRINS
1. Prezentare generală și diferența cheie
2. Ce este static în Java
3. Ce este final în Java
4. Asemănări între static și final în Java
5. Comparare side by side - static vs final în Java în formă tabelară
6. Rezumat
Ce este static în Java?
O clasă constă din membri (atribute) și metode de date. Pentru a apela metodele, ar trebui să existe un obiect al acelei clase specifice. Când o metodă este declarată statică, nu este necesar să creați un obiect pentru a apela acea metodă. Metoda poate fi apelată folosind numele clasei. Consultați programul de mai jos.
Figura 01: Program Java cu variabile statice și metodă statică
Conform programului de mai sus, clasa A conține variabila numerică și metoda de afișare. Ambii sunt membri statici. Prin urmare, nu este necesar să creați un obiect pentru a accesa variabila numerică și metoda de afișare. Programatorul poate scrie direct numele clasei pentru a imprima numărul și pentru a apela afișarea metodei. Deci, nu este nevoie să instanțiați un obiect. Dacă variabila numerică și metoda de afișare nu sunt statice, atunci ar trebui să existe un obiect de tip A.
Figura 02: Utilizarea blocului static
Programul de mai sus conține blocul static și metoda principală. Blocul static este apelat la încărcarea clasei. Prin urmare, instrucțiunea din blocul static se execută înainte de instrucțiunea din blocul principal. Dacă există multe blocuri statice, acestea se vor executa în ordine.
Ce este final în Java?
În program, pot exista variabile de diferite tipuri. Dacă există o variabilă ca int x = 1; mai târziu în program, acea valoare variabilă poate fi schimbată cu o altă valoare. O variabilă care este declarată finală și inițializată cu o valoare nu poate fi modificată ulterior în program.
Figura 03: Program cu variabilă finală și moștenire
Conform programului de mai sus, x este o variabilă finală. I se atribuie o valoare 5. Nu poate fi modificată o altă valoare, deoarece este declarată finală. Java acceptă programarea orientată pe obiecte (OOP). Un pilon al POO este polimorfismul. Un tip de polimorfism este prioritar. Clasa A are metoda de afișare. Clasa B extinde clasa A și are propria metodă de afișare. La crearea unui obiect de tip B și la apelarea metodei de afișare se va imprima „B” ca ieșire. Metoda de afișare a clasei A este anulată de metoda de afișare a clasei B.
Dacă programatorul trebuie să evite cum să înlocuiască o metodă, atunci poate folosi cuvântul cheie final pentru acea metodă. Dacă metoda de afișare din clasa A este finală, metoda de afișare din B va da o eroare deoarece metoda respectivă nu poate fi anulată.
Figura 04: cuvânt cheie final în metodă
Un alt pilon al POO este moștenirea. Ajută la refolosirea codului deja existent. Noua clasă se poate extinde de la clasa existentă și poate utiliza membrii de date și metodele clasei existente. Dacă este necesar să se oprească moștenirea unei clase, programatorul poate folosi cuvântul cheie „final”. Consultați programul de mai jos.
Figura 05: cuvânt cheie final din clasă
Conform programului de mai sus, clasa A este declarată definitivă. Când clasa B extinde A, dă o eroare deoarece clasa A este declarată finală. Nu poate fi moștenit de alte clase.
Care este asemănarea dintre statică și finală în Java?
Atât static, cât și final sunt cuvinte cheie în Java
Care este diferența dintre statică și finală în Java?
Difuzarea articolului din mijloc înainte de tabel
static vs final în Java |
|
Cuvântul cheie static indică faptul că o variabilă de membru, sau o metodă, poate fi accesată fără a necesita o instanțiere a clasei căreia îi aparține. | Cuvântul cheie final reprezintă o entitate care poate fi atribuită o singură dată. |
Variabile | |
Variabilele statice pot fi reinitializate. | Variabilele finale nu pot fi reinitializate. |
Metode | |
Poate fi apelat prin alte metode statice și accesează numai membrii statici ai clasei. | Metodele finale nu pot fi anulate. |
Clasă | |
Obiectul de clasă static nu poate fi creat. Conține doar membrii statici. | Clasa finală nu poate fi moștenită de alte clase. |
bloc | |
Cuvântul cheie static poate fi folosit într-un bloc. | Cuvântul cheie final nu este utilizat cu un bloc. |
Rezumat - static vs final în Java
Acest articol a discutat două cuvinte cheie în Java, cum ar fi static și final. Diferența dintre static și final în Java este că static este utilizat pentru a defini membrul clasei care poate fi utilizat independent de orice obiect al clasei, în timp ce final este utilizat pentru a declara o variabilă constantă sau o metodă care nu poate fi suprascrisă sau o clasă care nu poate să fie moștenit.