Sobes.tech
Junior

Pro jaké použití je vhodný modifikátor static?

sobes.tech AI

Odpověď od AI

  1. Třídyové proměnné (statické pole): Pro ukládání dat sdílených všemi instancemi třídy. Například čítač vytvořených objektů nebo konstanty.
  2. Třídyové metody (statické metody): Pro provádění akcí, které nezávisí na konkrétní instanci třídy. Například pomocné funkce nebo metody pro práci se statickými poli.
  3. Statické bloky inicializace: Pro provádění složitých inicializací statických polí při načítání třídy.
  4. Statické vnitřní třídy: Pro logické seskupení souvisejících tříd nebo pro použití jako pomocné třídy bez odkazu na vnější objekt.

Příklady:

public class MyClass {
    // Statické pole (konstanta)
    public static final int MAX_COUNT = 100;

    // Statické pole (počet instancí)
    private static int instanceCount = 0;

    // Statický blok inicializace
    static {
        System.out.println("MyClass načtena.");
    }

    public MyClass() {
        instanceCount++;
    }

    // Statická metoda
    public static int getInstanceCount() {
        return instanceCount;
    }

    // Statická vnitřní třída
    public static class StaticInnerClass {
        public void doSomething() {
            System.out.println("Ve statické vnitřní třídě.");
        }
    }
}

Porovnávací tabulka statických a nestatických členů:

Vlastnost Statický člen Nestatický člen
Vztah k objektu Patří ke třídě Patří k instanci
Přístup Přes název třídy nebo objekt Přes objekt
Inicializace Při načtení třídy Při vytváření objektu
Paměť Přiděleno jednou Přiděleno pro každý objekt