Sobes.tech
Junior

Ички класстар эмне?

sobes.tech AI

AIден жооп

Ички клас — бул башка класс ичинде жарыяланган класс. Алар эки негизги түргө бөлүнөт: статикалык ички класстар (статикалык мүчөлөрү бар класс) жана ички класстар (нестатикалык мүчөлөрү бар класс).

Статикалык ички класстар:

  • Чыгарылган класс менен байланыштуу, анын экземпляры менен эмес.
  • Тек гана статикалык мүчөлөргө кайрыла алат.
  • Чыгарылган класссыз түзүлө алат.

Ички класстар:

  • Чыгарылган класс менен байланыштуу.
  • Бардык мүчөлөргө кайрыла алат (private киргизилгени менен).
  • Түзүү үчүн чыгара турган класстын экземпляры керек.

Колдонуу мисалдары:

  • Топтоо: Логикалык жактан байланышкан класстарды топтоо окуу жана кодду уюштурууну жакшыртат.
  • Инкапсуляция: Ички класстар чыгара турган класстын жеке мүчөлөрүнө кирүүгө мүмкүнчүлүк берет, бул ишке ашыруунун деталдарын жашыруу үчүн пайдалуу.
  • Окуяларды угуу (Java): Анонимдүү ички класстарды түзүүдө кеңири колдонулат.
  • Көмөкчү класстар: Кичинекей класстар, алар гана сырткы класс тарабынан колдонулат.
// Статикалык ички класстын мисалы
class OuterClass {
    static int outerStaticField = 1;
    int outerInstanceField = 2;

    static class StaticNestedClass {
        void display() {
            System.out.println("Чыгарылган статикалык талаа: " + outerStaticField);
            // outerInstanceField түздөн-түз кайрылуу мүмкүн эмес
        }
    }
}

// Ички класстын мисалы
class AnotherOuterClass {
    int outerField = 10;

    class InnerClass {
        void display() {
            System.out.println("Чыгарылган талаа: " + outerField); // Чыгарылган класстын талаасына кайрылуу
        }
    }
}

Салыштыруу таблицасы:

Өзгөчөлүк Статикалык ички класс Ички класс
Байланыш Чыгарылган класс менен Экземпляр менен байланыштырылган
Мүчөлөргө кирүү Тек гана статикалык Бардык мүчөлөр (private киргизилгени менен)
Экземпляр талап кылынат Жок Ооба
Статикалык мүчөлөрдү камтышы мүмкүн Ооба Жок (константтарды кошпогондо)