Junior — Middle
Dasturlashda ichki sinf va ichki sinf o'rtasidagi farq nima?
sobes.tech AI
AIdan javob
Java (va Android) ichki sinf ichki sinf deb nomlangan har qanday sinf bo‘lib, u boshqa sinf ichida e’lon qilinadi. Ichki sinflar ikki turga bo‘linadi:
- Statik ichki sinf (static nested class) —
staticmodifikatori bilan e’lon qilinadi. U tashqi sinfning statik bo‘lmagan a’zolariga to‘g‘ridan-to‘g‘ri kirish imkoniga ega emas. - Ichki sinf (inner class) —
staticmodifikatori bo‘lmagan ichki sinf. U tashqi sinfning ob’ekti bilan bog‘langan va uning statik bo‘lmagan maydonlari va metodlariga kirish huquqiga ega.
Misol:
class Outer {
private int outerField = 10;
static class StaticNested {
void print() {
// outerField ga to‘g‘ridan-to‘g‘ri murojaat qilish mumkin emas
System.out.println("Statik ichki sinf");
}
}
class Inner {
void print() {
// outerField ga murojaat qilish mumkin
System.out.println("Ichki sinf, outerField = " + outerField);
}
}
}
Shunday qilib, asosiy farq shundaki, ichki sinf tashqi sinf ob’ekti bilan bog‘langan va uning statik bo‘lmagan a’zolariga kirish imkoniga ega, statik ichki sinf esa ega emas.