Javában mikor ajánlatos/kötelező használni a static kulcsszót? Esetleg ha elmagyaráznátok egy példán keresztül, hogy mikor van értelme az nagyon jó lenne.
static kulcsszó azt jelzi, hogy osztály szintű az adott változó/metódus. Előbbi esetén az összes példány hozzáfér, úgy tudja módosítani, mintha csak sajátja lenne, de értelemszerűen mindenhol a legutolsó érték lesz a mérvadó.
Statikus metódus esetén nem kell példányt létrehozni adott tagfüggvény meghívásához, azt közvetlenül az osztályon meg lehet tenni. Értelemszerű, hogy ebben az esetben a metódusból nem tudsz hozzáférni a példányok nem statikus metódusaihoz.
Példa legyen (mindkettőre) a singleton pattern: ennek segítségével meg tudod oldani, hogy adott osztályból csak egy példányt lehessen létrehozni (refractoros varázslatoktól most tekintsünk el:)).
class MyClass {
static MyClass s_instance;
private MyClass (){//} //privát konstruktor, hogy ne lehessen máshonnan példányosítani
static MyClass Instance() {
if (s_instance == null) {
s_instance = new MyClass();
}
return s_instance;
}
}
Másik példa lehet pl Utility osztályok metódusai, amelyek bizonyos segédfunkciókat foglalhatnak egységbe...
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!