Sobes.tech
Junior

Java-da 'static' açar sözü nə anlama gəlir?

sobes.tech Süni İntellekt

AI-dan cavab

Java-da static elementi sinfə aid olan və obyektin müəyyən nümunəsinə aid olmayan elementləri elan etmək üçün istifadə olunur.

Açar söz aşağıdakı hallarda tətbiq oluna bilər:

  • Dəyişənlər (xarakterlər):
    • Dəyişənin nüsxəsi bütün sinf üçün mövcuddur, yaradılan nümunələrin sayından asılı olmayaraq.
    • Ona sinif adından (məsələn, ClassName.staticVariable) daxil olmaq mümkündür.
    // Statik dəyişən nümunəsi
    public class MyMath {
        public static final double PI = 3.14159;
        // Daxil olma: MyMath.PI
    }
    
  • Metodlar:
    • Metod sinfə aiddir, konkret obyektə deyil.
    • Sinif adından çağırıla bilər (məsələn, ClassName.staticMethod()).
    • Sinifin statik olmayan üzvlərinə (dəyişənlər və ya metodlar) daxil olmur, çünki onlar nümunə ilə əlaqəlidir.
    // Statik metod nümunəsi
    public class Calculator {
        public static int add(int a, int b) {
            return a + b;
        }
        // Çağırış: Calculator.add(5, 3)
    }
    
  • İlkinləşdirmə blokları:
    • JVM-ə sinif yükləndikdə bir dəfə icra olunur.
    • Statik sahələri ilkinləşdirmək və ya siniflə əlaqəli digər əməliyyatları yerinə yetirmək üçün istifadə olunur.
    // Statik blok nümunəsi
    public class DataInitializer {
        static {
            // Sinif yükləndikdə icra olunan kod
            System.out.println("DataInitializer sinfi yükləndi.");
        }
    }
    
  • Daxili siniflər (inner/nested classes):
    • Statik daxili sinif adi səviyyəli sinif kimi davranır, başqa bir sinifin içində yerləşir.
    • Onun xarici sinfin nümunəsini yaratmadan ona daxil olmaq mümkündür.
    • Yalnız xarici sinfin statik üzvlərinə daxil ola bilər.
    // Statik daxili sinif nümunəsi
    public class OuterClass {
        static class StaticInnerClass {
            // Statik daxili sinifin sahələri və metodları
        }
    }
    // Daxil olma: OuterClass.StaticInnerClass inner = new OuterClass.StaticInnerClass();
    

static istifadə etmək utilitar sinflər yaratmağa, ümumi məlumatları saxlamağa və sinif səviyyəsində vəziyyəti idarə etməyə kömək edir.