Sobes.tech
Middle

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

sobes.tech AI

AIден жооп

Ичке класс — бул башка класс ичинде аныкталган класс.

Javaда ичке класс түрлөрү:

  • Статикалык ички класс (Static Nested Classes):

    • Чыгарган класссыз сырткы класс аркылуу жеткиликтүү.
    • Чыгарган класстын статикалык эмес талааларына жана методторуна түз жетпейт.
    • static ачкыч сөзү менен жарыяланат.
  • Ички класс (Inner Classes):

    • Мүчө-ичке класс (Member Inner Classes):
      • Чыгарган класстын мүчөлөрүнүн деңгээлинде жарыяланат.
      • Бардык чыгара турган класстын мүчөлөрүнө (кошумча жеке) жеткиликтүү.
      • Өзүнүн экземплярын түзүү үчүн чыгара турган класстын экземпляры керек.
    • Жергиликтүү ички класс (Local Inner Classes):
      • Метод, конструктор же инициализация блоктун ичинде аныкталат.
      • Бул метод/блок чегинде гана көрүнөт.
      • Чыгарган контексттин final же эффективдүү final жергиликтүү өзгөрмөлөрүнө жеткиликтүү.
    • Анонимдүү ички класс (Anonymous Inner Classes):
      • Аты жок класс.
      • Интерфейсти ишке ашыруу же класс кеңейтүү үчүн түзүлгөн объекттерди түзүүдө колдонулат.
      • Бир операцияда аныкталып жана инстанцаланат.

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

class OuterClass {
    private static String msg = "Hello from Outer";

    static class StaticNestedClass {
        public void display() {
            // Чыгарган класстын статикалык мүчөлөрүнө жеткиликтүү
            System.out.println(msg);
        }
    }
}
// Колдонуу
// OuterClass.StaticNestedClass nestedObject = new OuterClass.StaticNestedClass();
// nestedObject.display();

Мүчө-ичке класс мисалы:

class OuterClass {
    private String msg = "Hello from Outer";

    class InnerClass {
        public void display() {
            // Бардык чыгара турган класстын мүчөлөрүнө жеткиликтүү
            System.out.println(msg);
        }
    }
}
// Колдонуу
// OuterClass outerObject = new OuterClass();
// OuterClass.InnerClass innerObject = outerObject.new InnerClass();
// innerObject.display();

Ичке класс колдонуу артыкчылыктары:

  • Топтоо: Логикалык жактан байланышкан классылар топтолушу мүмкүн.
  • Инкапсуляция: Ичке класс чыгара турган класстын жеке мүчөлөрүнө жеткиликтүү болушу мүмкүн, бул жакшы инкапсуляцияны камсыздайт.
  • Окумдуулук жана тейлөө: Жардамчы классыларды негизги класс ичинде жашырат.
  • Иштөө натыйжалуулугу: Көбүрөөк компакт жана натыйжалуу маалымат структураларын түзүү үчүн колдонулушу мүмкүн.