Junior
Static modifikator hansı tətbiqlərə uyğundur?
sobes.tech Süni İntellekt
AI-dan cavab
- Sinif dəyişənləri (statik sahələr): Sinifin bütün nümunələri üçün ümumi olan məlumatları saxlamaq üçün. Məsələn, yaradılmış obyektlərin sayını və ya sabitləri.
- Sinif metodları (statik metodlar): Müəyyən sinif nümunəsindən asılı olmayan əməliyyatları yerinə yetirmək üçün. Məsələn, köməkçi funksiyalar və ya statik sahələrlə işləmək üçün metodlar.
- Statik başlanğıc blokları: Sinif yükləndikdə mürəkkəb statik sahələrin başlanğıcını həyata keçirmək üçün.
- Statik daxili siniflər: Əlaqəli sinifləri məntiqi cəhətdən qruplaşdırmaq və ya xarici obyektə istinad etmədən köməkçi siniflər kimi istifadə etmək üçün.
Nümunələr:
public class MyClass {
// Statik sahə (sabit)
public static final int MAX_COUNT = 100;
// Statik sahə (nümunə sayı)
private static int instanceCount = 0;
// Statik başlanğıc bloku
static {
System.out.println("MyClass yükləndi.");
}
public MyClass() {
instanceCount++;
}
// Statik metod
public static int getInstanceCount() {
return instanceCount;
}
// Statik daxili sinif
public static class StaticInnerClass {
public void doSomething() {
System.out.println("Statik daxili sinifdə.");
}
}
}
Statik və qeyri-statik üzvlərin müqayisə cədvəli:
| Xüsusiyyət | Statik üzv | Qeyri-statik üzv |
|---|---|---|
| Ob'ektlə əlaqəsi | Sinifə aiddir | Nümunəyə aiddir |
| Giriş | Sinif adı və ya obyekt vasitəsilə | Obyekt vasitəsilə |
| Başlanğıc | Sinif yükləndikdə | Obyekt yaradıldıqda |
| Yaddaş | Bir dəfə ayrılır | Hər obyekt üçün ayrılır |