Junior — Middle
¿La clase interna en Java es privada para acceder desde otras clases?
sobes.tech AI
Respuesta de la IA
La clase interna en Java no necesariamente tiene que ser privada para acceder desde otras clases. El acceso a la clase interna depende del modificador de acceso que se le asigne (private, protected, public o package-private). Por ejemplo, si la clase interna se declara como private, solo será accesible dentro de la clase externa. Si se declara como public o sin modificador (package-private), entonces también será accesible desde otras clases en el mismo paquete o mediante importación.
Ejemplo:
public class Outer {
private class InnerPrivate {}
public class InnerPublic {}
}
// Desde otra clase en el mismo paquete:
Outer.InnerPublic obj = new Outer().new InnerPublic(); // acceso permitido
// Outer.InnerPrivate obj2 = new Outer().new InnerPrivate(); // error de compilación