A statikus metódus a osztályba tartozik, egy nem statikus metódus pedig egy osztály objektumához tartozik. A statikus metódusokat közvetlenül az osztályból lehet elérni, míg a nem statikus metódusokat (vagy a példánymetódusokat, ahogy én szeretem hívni) egy példányból kell elérni.
Mikor legyen egy metódus statikus vagy nem statikus?
A statikus metódus magához az osztályhoz tartozik és egy nem statikus (más néven példány) metódus tartozik minden objektumhoz, amelyet ebből az osztályból generálnak. Ha a metódus olyasmit csinál, ami nem függ osztályának egyedi jellemzőitől, tegye statikussá (kisebbé teszi a program lábnyomát).
Mikor használna nem statikus módszert?
A Java nem statikus metódusai az alábbiak szerint érhetik el a statikus metódusokat és változókat:
- A nem statikus metódusok bármely statikus metódushoz hozzáférhetnek anélkül, hogy létrehoznák az osztály példányát.
- Egy nem statikus metódus bármely statikus változóhoz hozzáférhet anélkül, hogy létrehozná az osztály példányát, mert a statikus változó az osztályhoz tartozik.
Mikor érdemes statikus függvényeket használni?
Ha egy olyan változót akarsz, amelynek mindig ugyanaz az értéke az osztály minden objektumánál, örökkön-örökké, tegye statikussá. Ha van olyan metódusa, amely nem használ példányváltozókat vagy példánymetódusokat, akkor valószínűleg statikussá kell tennie.
Mi a különbség a statikus és a nem statikus mező között?
A statikus változók vagy mezők az osztályhoz tartoznak, és nem az osztály bármely objektumához. A statikus változó akkor inicializálódik, amikor az osztály futás közben betöltődik. A nem statikus mezők egy objektum példánymezői. Csak objektumhivatkozáson keresztül érhetők el vagy hívhatók meg.