Junior
Pro jaké použití je vhodný modifikátor static?
sobes.tech AI
Odpověď od AI
- 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.
- 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.
- Statické bloky inicializace: Pro provádění složitých inicializací statických polí při načítání třídy.
- 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 |