Sobes.tech
Junior — Middle

Java-ի ներքին դասը փակ է այլ դասերից մուտք գործելու համար?

sobes.tech AI

Պատասխան AI-ից

Java-ի ներսի դասը պարտադիր չէ լինի մասնավոր, որպեսզի հասանելի լինի այլ դասերից: Ներքին դասի հասանելիությունը կախված է այն իրեն տրված մուտքի մոդիֆիկատորից (private, protected, public կամ package-private): Օրինակ, եթե ներքին դասը հայտարարված է որպես private, այն հասանելի է միայն արտաքին դասի ներսում: Եթե այն հայտարարված է որպես public կամ առանց մոդիֆիկատորի (package-private), ապա հասանելի է նաև նույն փաթեթում գտնվող այլ դասերից կամ ներմուծման միջոցով:

Օրինակ:

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

// Այլ դասից նույն փաթեթում:
Outer.InnerPublic obj = new Outer().new InnerPublic(); // թույլատրված հասանելիություն
// Outer.InnerPrivate obj2 = new Outer().new InnerPrivate(); // սխալ կոմպիլյացիայում