Middle
Ички класстар деген эмне?
sobes.tech AI
AIден жооп
Ичке класс — бул башка класс ичинде аныкталган класс.
Javaда ичке класс түрлөрү:
-
Статикалык ички класс (Static Nested Classes):
- Чыгарган класссыз сырткы класс аркылуу жеткиликтүү.
- Чыгарган класстын статикалык эмес талааларына жана методторуна түз жетпейт.
staticачкыч сөзү менен жарыяланат.
-
Ички класс (Inner Classes):
- Мүчө-ичке класс (Member Inner Classes):
- Чыгарган класстын мүчөлөрүнүн деңгээлинде жарыяланат.
- Бардык чыгара турган класстын мүчөлөрүнө (кошумча жеке) жеткиликтүү.
- Өзүнүн экземплярын түзүү үчүн чыгара турган класстын экземпляры керек.
- Жергиликтүү ички класс (Local Inner Classes):
- Метод, конструктор же инициализация блоктун ичинде аныкталат.
- Бул метод/блок чегинде гана көрүнөт.
- Чыгарган контексттин
finalже эффективдүүfinalжергиликтүү өзгөрмөлөрүнө жеткиликтүү.
- Анонимдүү ички класс (Anonymous Inner Classes):
- Аты жок класс.
- Интерфейсти ишке ашыруу же класс кеңейтүү үчүн түзүлгөн объекттерди түзүүдө колдонулат.
- Бир операцияда аныкталып жана инстанцаланат.
- Мүчө-ичке класс (Member 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();
Ичке класс колдонуу артыкчылыктары:
- Топтоо: Логикалык жактан байланышкан классылар топтолушу мүмкүн.
- Инкапсуляция: Ичке класс чыгара турган класстын жеке мүчөлөрүнө жеткиликтүү болушу мүмкүн, бул жакшы инкапсуляцияны камсыздайт.
- Окумдуулук жана тейлөө: Жардамчы классыларды негизги класс ичинде жашырат.
- Иштөө натыйжалуулугу: Көбүрөөк компакт жана натыйжалуу маалымат структураларын түзүү үчүн колдонулушу мүмкүн.