Sobes.tech
Junior

Həll edilən siniflər nədir?

sobes.tech Süni İntellekt

AI-dan cavab

İç içe sinflər, başqa bir sinif daxilində elan olunan sinflərdir. İki əsas növə bölünürlər: statik iç içə sinflər (sinfin statik üzvləri) və daxili sinflər (statik olmayan üzvlər).

Statik iç içə sinflər:

  • Xarici siniflə əlaqəlidir, onun nümunəsi ilə deyil.
  • Yalnız xarici sinfin statik üzvlərinə müraciət edə bilərlər.
  • Xarici sinfin nümunəsi olmadan yaradıla bilərlər.

Daxili sinflər:

  • Xarici sinfin nümunəsi ilə əlaqəlidir.
  • Xarici sinfin bütün üzvlərinə (statik və statik olmayanlar), o cümlədən private-ə daxil ola bilərlər.
  • Yaradılmaq üçün xarici sinfin nümunəsi tələb olunur.

İstifadə nümunələri:

  • Qruplaşdırma: Məntiqi əlaqəli sinflər kodun oxunuşunu və təşkilatını yaxşılaşdırmaq üçün birləşdirilə bilər.
  • İnkapulsasiya: Daxili sinflər xarici sinfin private üzvlərinə giriş imkanı verir, bu da həyata keçirmə detalları üçün kapsülləşməyə imkan verir.
  • Hadisə dinləyiciləri (Java): Tez-tez anonim daxili sinflər yaratmaq üçün istifadə olunur.
  • Yardımçı sinflər: Yalnız xarici sinif tərəfindən istifadə olunan kiçik sinflər.
// Statik daxili sinif nümunəsi
class OuterClass {
    static int outerStaticField = 1;
    int outerInstanceField = 2;

    static class StaticNestedClass {
        void display() {
            System.out.println("Xarici statik sahə: " + outerStaticField);
            // outerInstanceField-ə birbaşa daxil olmaq mümkün deyil
        }
    }
}

// Daxili sinif nümunəsi
class AnotherOuterClass {
    int outerField = 10;

    class InnerClass {
        void display() {
            System.out.println("Xarici sahə: " + outerField); // Xarici sinfin sahəsinə giriş
        }
    }
}

Müqayisə cədvəli:

Xüsusiyyət Statik iç içə sinif Daxili sinif
Əlaqə Xarici siniflə Xarici sinfin nümunəsi ilə
Xarici üzvlərə giriş Yalnız statik Bütün üzvlər (private daxil olmaqla)
Nümunə tələb edir Xeyr Bəli
Statik üzvlər saxlaya bilər Bəli Xeyr (yalnız sabitlər)