Junior — Middle
93
Czy klasa wewnętrzna w Java jest prywatna dla dostępu z innych klas?
Odpowiedź od AI
sobes.tech AI
Klasa wewnętrzna w Java nie musi być koniecznie prywatna, aby była dostępna z innych klas. Dostęp do klasy wewnętrznej zależy od modyfikatora dostępu, który jej przypisano (private, protected, public lub package-private). Na przykład, jeśli klasa wewnętrzna jest zadeklarowana jako private, jest dostępna tylko w obrębie klasy zewnętrznej. Jeśli jest zadeklarowana jako public lub bez modyfikatora (package-private), jest dostępna również z innych klas w tym samym pakiecie lub przez import.
Przykład:
public class Outer {
private class InnerPrivate {}
public class InnerPublic {}
}
// Z innej klasy w tym samym pakiecie:
Outer.InnerPublic obj = new Outer().new InnerPublic(); // dostęp dozwolony
// Outer.InnerPrivate obj2 = new Outer().new InnerPrivate(); // błąd kompilacji