Sobes.tech
Middle
160

Java-да статикалық және ішкі ішкі кластарды пайдалану ерекшеліктері қандай? Олардың айырмашылығы неде?

AI-дан жауап

sobes.tech AI

Статикалық ішкі сыныптар (static nested classes):

  • Сыртқы сыныптың экземплярына жасырын сілтеме болмайды.
  • Тек қана сыртқы сыныптың статикалық мүшелеріне (жолдар мен әдістер, соның ішінде жеке) жүгінуге болады.
  • static кілт сөзі арқылы құрылады.
  • public, protected, пакеттік немесе private ретінде жариялануы мүмкін.
  • Қосымша сыныптарды топтастыру үшін пайдаланылады, олар сыртқы сыныптың нақты экземплярына тәуелді емес.

Мысал:

class Outer {
    private static String staticField = "Static Outer";
    private String instanceField = "Instance Outer";

    static class StaticNested {
        void display() {
            // Тек қана Outer-дың статикалық мүшелеріне қол жеткізу
            System.out.println(staticField);
            // Қате: instanceField-қа қол жеткізу мүмкін емес
            // System.out.println(instanceField); 
        }
    }
}

Ішкі сыныптар (inner classes):

  • Сыртқы сыныптың жасырын сілтемесі бар.
  • Барлық мүшелеріне (статикалық және статикалық емес, соның ішінде жеке) жүгінуге болады.
  • static кілт сөзімен жарияланбайды.
  • public, protected, пакеттік немесе private ретінде жариялануы мүмкін.
  • Тығыз байланысты қосымша сыныптарды құру үшін пайдаланылады, олар сыртқы сыныптың экземпляр мүшелеріне қол жеткізуі керек.

Мысал:

class Outer {
    private static String staticField = "Static Outer";
    private String instanceField = "Instance Outer";

    class Inner {
        void display() {
            // Барлық Outer мүшелеріне қол жеткізу
            System.out.println(staticField);
            System.out.println(instanceField);
        }
    }
}

Айырмашылық:

Ерекшелік Статикалық ішкі сынып Ішкі сынып
Сыртқы сыныпқа жасырын сілтеме Жоқ Бар
Сыртқы сыныптың мүшелеріне қол жеткізу Тек қана статикалық Статикалық және статикалық емес
static қолдану Иә Жоқ
Сыртқы сыныптың экземплярына байланыс Жоқ Бар
Қолданылуы Экземплярға тәуелсіз көмекші сыныптар Экземплярға тәуелді көмекші сыныптар