Junior
Za koje primene je pogodan modifikator static?
sobes.tech АИ
Одговор од АИ
- Promenljive klase (statička polja): Za skladištenje podataka koji su zajednički svim instancama klase. Na primer, brojač kreiranih objekata ili konstante.
- Metode klase (statičke metode): Za izvršavanje radnji koje ne zavise od konkretne instance klase. Na primer, pomoćne funkcije ili metode za rad sa statičkim poljima.
- Statički blokovi inicijalizacije: Za izvršavanje složenih inicijalizacija statičkih polja pri učitavanju klase.
- Statičke unutrašnje klase: Za logičko grupisanje povezanih klasa ili za korišćenje kao pomoćne klase bez reference na spoljašnji objekat.
Primeri:
public class MyClass {
// Statičko polje (konstanta)
public static final int MAX_COUNT = 100;
// Statičko polje (brojač instanci)
private static int instanceCount = 0;
// Statički blok inicijalizacije
static {
System.out.println("MyClass učitana.");
}
public MyClass() {
instanceCount++;
}
// Statička metoda
public static int getInstanceCount() {
return instanceCount;
}
// Statička unutrašnja klasa
public static class StaticInnerClass {
public void doSomething() {
System.out.println("U statičkoj unutrašnjoj klasi.");
}
}
}
Tabela poređenja statičkih i nestatističkih članova:
| Osobina | Statički član | Nestatički član |
|---|---|---|
| Veza sa objektom | Pripada klasi | Pripada instanci |
| Pristup | Kroz naziv klase ili objekat | Kroz objekat |
| Inicijalizacija | Pri učitavanju klase | Pri kreiranju objekta |
| Memorija | Dodeljuje se jednom | Dodeljuje se za svaki objekat |