O metodă statică aparține clasei și o metodă nestatică aparține unui obiect al unei clase. Metodele statice pot fi accesate direct din clasă, în timp ce metodele non-statice (sau metodele de instanță, așa cum îmi place să le numesc) trebuie accesate dintr-o instanță.
Când ar trebui o metodă să fie statică versus non-statică?
O metodă statică aparține clasei în sine și o metodă non-statică (alias de instanță) aparține fiecărui obiect care este generat din acea clasă. Dacă metoda dvs. face ceva care nu depinde de caracteristicile individuale ale clasei sale, faceți-o statică (va micșora amprenta programului).
Când ați folosi o metodă non-statică?
O metodă non-statică în Java poate accesa metode și variabile statice după cum urmează:
- O metodă non-statică poate accesa orice metodă statică fără a crea o instanță a clasei.
- O metodă non-statică poate accesa orice variabilă statică fără a crea o instanță a clasei, deoarece variabila statică aparține clasei.
Când ar trebui să utilizați funcțiile statice?
Când doriți să aveți o variabilă care are întotdeauna aceeași valoare pentru fiecare obiect din clasa, pentru totdeauna, faceți-o statică. Dacă aveți o metodă care nu utilizează variabile de instanță sau metode de instanță, probabil ar trebui să o faceți statică.
Care este diferența dintre câmpul static și cel nestatic?
Variabilele sau câmpurile statice aparțin clasei și nu oricărui obiect al clasei. O variabilă statică este inițializată atunci când clasa este încărcată în timpul execuției. Câmpurile non-statice sunt câmpuri de instanță ale unui obiect. Acestea pot fi accesate sau invocate numai printr-o referință de obiect.