Junior
Na aké aplikácie je vhodný modifikátor static?
sobes.tech AI
Odpoveď od AI
- Premenné triedy (statické polia): Na ukladanie údajov spoločných pre všetky inštancie triedy. Napríklad počítadlo vytvorených objektov alebo konštanty.
- Metódy triedy (statické metódy): Na vykonávanie akcií, ktoré nezávisia od konkrétneho inštancie triedy. Napríklad pomocné funkcie alebo metódy na prácu so statickými poľami.
- Statické bloky inicializácie: Na vykonanie zložitých inicializácií statických polí pri načítaní triedy.
- Statické vnútorné triedy: Na logické zoskupovanie súvisiacich tried alebo na použitie ako pomocné triedy bez odkazu na vonkajší objekt.
Príklady:
public class MyClass {
// Statické pole (konštanta)
public static final int MAX_COUNT = 100;
// Statické pole (čítač inštancií)
private static int instanceCount = 0;
// Statický blok inicializácie
static {
System.out.println("MyClass načítaná.");
}
public MyClass() {
instanceCount++;
}
// Statická metóda
public static int getInstanceCount() {
return instanceCount;
}
// Statická vnútorná trieda
public static class StaticInnerClass {
public void doSomething() {
System.out.println("V statickej vnútornej triede.");
}
}
}
Porovnávacia tabuľka statických a nestatických členov:
| Vlastnosť | Statický člen | Nestatický člen |
|---|---|---|
| Vzťah k objektu | Patrí triede | Patrí inštancii |
| Prístup | Prostredníctvom názvu triedy alebo objektu | Prostredníctvom objektu |
| Inicializácia | Pri načítaní triedy | Pri vytvorení objektu |
| Pamäť | Pridelená raz | Pridelená pre každý objekt |