Junior
Qaysi qo'llashlar uchun static modifikator mos keladi?
sobes.tech AI
AIdan javob
- Sinf variablari (statik maydonlar): Dasturlar uchun umumiy bo'lgan ma'lumotlarni saqlash uchun. Masalan, yaratilgan obyektlar soni yoki konstantalar.
- Sinf metodlari (statik metodlar): Aniq sinf obyektiga bog'liq bo'lmagan amallarni bajarish uchun. Masalan, yordamchi funksiyalar yoki statik maydonlar bilan ishlash metodlari.
- Statik boshlang'ich bloklar: Sinf yuklanganda murakkab statik maydonlarni boshlash uchun.
- Statik ichki sinflar: Bog'liq sinflarni mantiqan guruhlash yoki tashqi ob'ektga murojaat qilmasdan yordamchi sinflar sifatida foydalanish uchun.
Misollar:
public class MyClass {
// Statik maydon (konstant)
public static final int MAX_COUNT = 100;
// Statik maydon (namuna hisoblagichi)
private static int instanceCount = 0;
// Statik boshlang'ich blok
static {
System.out.println("MyClass yuklandi.");
}
public MyClass() {
instanceCount++;
}
// Statik metod
public static int getInstanceCount() {
return instanceCount;
}
// Statik ichki sinf
public static class StaticInnerClass {
public void doSomething() {
System.out.println("Statik ichki sinfda.");
}
}
}
Statik va statik bo'lmagan a'zolar taqqoslash jadvali:
| Xususiyat | Statik a'zo | Statik bo'lmagan a'zo |
|---|---|---|
| Ob'ekt bilan bog'liqlik | Sinfga tegishli | Namuna bilan bog'liq |
| Kirish | Sinf nomi yoki ob'ekt orqali | Ob'ekt orqali |
| Initsializatsiya | Sinfa yuklanganda | Ob'ekt yaratilganda |
| Xotira | Bir marta ajratiladi | Har ob'ekt uchun ajratiladi |