Sobes.tech
Junior — Middle

Java-da daxili sinif digər siniflərdən giriş üçün qapalıdırmı?

sobes.tech Süni İntellekt

AI-dan cavab

Java-da daxili sinif başqa sinflardan giriş üçün məcburi deyil. Daxili sinfə giriş ona təyin olunan giriş modifikatorundan asılıdır (private, protected, public və ya package-private). Məsələn, əgər daxili sinif private kimi elan olunubsa, yalnız xarici sinif daxilində əlçatandır. Əgər public və ya modifikator olmadan (package-private) elan olunubsa, o da eyni paketdəki digər sinflər və ya idxal vasitəsilə əlçatan olur.

Nümunə:

public class Outer {
    private class InnerPrivate {}
    public class InnerPublic {}
}

// Eyni paketdəki başqa sinifdən:
Outer.InnerPublic obj = new Outer().new InnerPublic(); // giriş icazə verilir
// Outer.InnerPrivate obj2 = new Outer().new InnerPrivate(); // tərtib xətası