Junior
Milyen alkalmazásokhoz alkalmas a static módosító?
sobes.tech MI
Válasz az MI-től
- Osztályváltozók (statikus mezők): Az osztály összes példányára közös adatok tárolására. Például, létrehozott objektumok számlálója vagy állandók.
- Osztálymódszerek (statikus módszerek): Olyan műveletek végrehajtására, amelyek nem függenek konkrét példánytól. Például segéfüggvények vagy módszerek a statikus mezőkkel való munkához.
- Statikus inicializációs blokkok: A statikus mezők összetett inicializálására osztály betöltésekor.
- Statikus belső osztályok: Logikusan csoportosítják a kapcsolódó osztályokat, vagy segédosztályként használják külső objektum hivatkozása nélkül.
Példák:
public class MyClass {
// Statikus mező (állandó)
public static final int MAX_COUNT = 100;
// Statikus mező (példányszámoló)
private static int instanceCount = 0;
// Statikus inicializációs blokk
static {
System.out.println("MyClass betöltve.");
}
public MyClass() {
instanceCount++;
}
// Statikus metódus
public static int getInstanceCount() {
return instanceCount;
}
// Statikus belső osztály
public static class StaticInnerClass {
public void doSomething() {
System.out.println("A statikus belső osztályban.");
}
}
}
Statisztikus és nem statikus tagok összehasonlító táblázata:
| Jellemző | Statikus tag | Nem statikus tag |
|---|---|---|
| Objektumhoz való viszony | Osztályhoz tartozik | Példányhoz tartozik |
| Hozzáférés | Osztály neve vagy objektum által | Objektumon keresztül |
| Inicializálás | Osztály betöltésekor | Objektum létrehozásakor |
| Memória | Egyszer van lefoglalva | Minden példány számára külön |