Junior — Middle
Je vnútorná trieda v Jave uzavretá pre prístup z iných tried?
sobes.tech AI
Odpoveď od AI
Vnútorná trieda v Jave nemusí byť nevyhnutne súkromná, aby bola prístupná z iných tried. Prístup k vnútornej triede závisí od modifikátora prístupu, ktorý jej bol priradený (private, protected, public alebo package-private). Napríklad, ak je vnútorná trieda deklarovaná ako private, je dostupná iba vnútri vonkajšej triedy. Ak je deklarovaná ako public alebo bez modifikátora (package-private), je dostupná aj z iných tried v tom istom balíku alebo prostredníctvom importu.
Príklad:
public class Outer {
private class InnerPrivate {}
public class InnerPublic {}
}
// Z inej triedy v tom istom balíku:
Outer.InnerPublic obj = new Outer().new InnerPublic(); // povolený prístup
// Outer.InnerPrivate obj2 = new Outer().new InnerPrivate(); // chyba kompilácie