A statická metoda patří do třídy a nestatická metoda patří do objektu třídy. Ke statickým metodám lze přistupovat přímo ze třídy, zatímco k nestatickým metodám (nebo metodám instancí, jak je rád nazývám) je třeba přistupovat z instance.
Kdy by měla být metoda statická vs. nestatická?
A statická metoda patří do třídy samotné a nestatická (aka instance) metoda patří ke každému objektu, který je z této třídy vygenerován. Pokud vaše metoda dělá něco, co nezávisí na individuálních vlastnostech její třídy, udělejte ji statickou (zmenší se tím půdorys programu).
Kdy byste použili nestatickou metodu?
Nestatická metoda v Javě může přistupovat ke statickým metodám a proměnným následovně:
- Nestatická metoda může přistupovat k jakékoli statické metodě bez vytvoření instance třídy.
- Nestatická metoda může přistupovat k jakékoli statické proměnné bez vytvoření instance třídy, protože statická proměnná patří do třídy.
Kdy byste měli používat statické funkce?
Když chcete mít proměnnou, která má vždy stejnou hodnotu pro každý objekt třídy, navždy a navždy, udělejte ji statickou. Pokud máte metodu, která nepoužívá žádné proměnné instance nebo metody instance, měli byste ji pravděpodobně nastavit jako statickou.
Jaký je rozdíl mezi statickým a nestatickým polem?
Statické proměnné nebo pole patří do třídy a ne do žádného objektu třídy. Statická proměnná se inicializuje při načtení třídy za běhu. Nestatická pole jsou pole instance objektu. Lze k nim přistupovat nebo je vyvolat pouze prostřednictvím odkazu na objekt.