Junior — Middle
Proqramlaşdırmada daxili sinif və iç içə sinif arasındakı fərq nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Java-da (və Android-də) daxili sinif hər hansı digər sinif daxilində elan olunan hər hansı sinifdir. Daxili siniflər iki növə bölünür:
- Statik daxili sinif (static nested class) —
staticmodifieri ilə elan olunur. Xarici sinifin statik olmayan üzvlərinə birbaşa daxil olmur. - Daxili sinif (inner class) —
staticmodifieri olmayan daxili sinif. Xarici sinifin nümunəsinə bağlıdır və onun statik olmayan sahələrinə və metodlarına daxil ola bilər.
Nümunə:
class Outer {
private int outerField = 10;
static class StaticNested {
void print() {
// outerField-ə birbaşa müraciət etmək mümkün deyil
System.out.println("Statik daxili sinif");
}
}
class Inner {
void print() {
// outerField-ə müraciət etmək olar
System.out.println("Daxili sinif, outerField = " + outerField);
}
}
}
Əsas fərq odur ki, daxili sinif xarici sinifin obyekti ilə əlaqəlidir və onun statik olmayan üzvlərinə daxil ola bilər, statik daxili sinif isə edə bilməz.