Junior — Middle
Vai iekšējā klase Java ir slēgta piekļuvei no citām klasēm?
sobes.tech AI
Atbilde no AI
Iekšējā klase Java nav obligāti jābūt privātai, lai būtu pieejama no citām klasēm. Piekļuve iekšējai klasei ir atkarīga no piekļuves modifikatora, kas tai ir piešķirts (private, protected, public vai package-private). Piemēram, ja iekšējā klase ir deklarēta kā private, tā ir pieejama tikai ārējās klases ietvaros. Ja tā ir deklarēta kā public vai bez modifikatora (package-private), tā ir pieejama arī no citām klasēm tajā pašā paketē vai ar importu.
Piemērs:
public class Outer {
private class InnerPrivate {}
public class InnerPublic {}
}
// No citas klases tajā pašā paketē:
Outer.InnerPublic obj = new Outer().new InnerPublic(); // pieejas atļauts
// Outer.InnerPrivate obj2 = new Outer().new InnerPrivate(); // kompilācijas kļūda