A statička metoda pripada klasi a nestatična metoda pripada objektu klase. Statičkim metodama se može pristupiti direktno iz klase, dok se nestatičkim metodama (ili metodama instance kako ih ja volim zvati) treba pristupiti iz instance.
Kada metoda treba biti statična u odnosu na nestatična?
A statička metoda pripada samoj klasi i nestatična (aka instanca) metoda pripada svakom objektu koji je generiran iz te klase. Ako vaš metod radi nešto što ne zavisi od individualnih karakteristika njegove klase, učinite ga statičnim (to će smanjiti otisak programa).
Kada biste koristili nestatičku metodu?
Nestatička metoda u Javi može pristupiti statičkim metodama i varijablama na sljedeći način:
- Nestatička metoda može pristupiti bilo kojoj statičkoj metodi bez kreiranja instance klase.
- Nestatička metoda može pristupiti bilo kojoj statičkoj varijabli bez kreiranja instance klase jer statička varijabla pripada klasi.
Kada treba koristiti statičke funkcije?
Kada želite imati varijablu koja uvijek ima istu vrijednost za svaki objekat klase, zauvijek i zauvijek, učinite je statičnom. Ako imate metodu koja ne koristi nikakve varijable instance ili metode instance, vjerovatno biste je trebali učiniti statičnom.
Koja je razlika između statičkog i nestatičnog polja?
Statičke varijable ili polja pripadaju klasi, a ne bilo kojem objektu klase. Statička varijabla se inicijalizira kada se klasa učita u vrijeme izvođenja. Nestatična polja su polja instance objekta. Može im se pristupiti ili pozvati samo preko reference objekta.