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 киргизилгени менен) |
| Экземпляр талап кылынат | Жок | Ооба |
| Статикалык мүчөлөрдү камтышы мүмкүн | Ооба | Жок (константтарды кошпогондо) |