uso tipos que programacion las importancia ejemplos definicion clases clase atomicas java class accessibility

tipos - Accesibilidad de clase de Java



uso de clases en java (3)

Una clase pública es accesible para una clase en cualquier paquete.

Una clase con acceso predeterminado ( class Joe ) solo es visible para otras clases en el mismo paquete.

Los modificadores privados y protegidos solo se pueden aplicar a las clases internas.

Una clase privada solo es visible para su clase adjunta y otras clases internas en la misma clase adjunta.

Una clase protegida es visible para otras clases en el mismo paquete, y para las clases que amplían la clase adjunta.

Ligeramente relacionado con mi otra pregunta : ¿Cuál es la diferencia entre lo siguiente?

private class Joe protected class Joe public class Joe class Joe

Una vez más, la diferencia entre los últimos 2 es lo que más me interesa.


Una clase con acceso predeterminado no tiene ningún modificador que lo preceda en la declaración.

El acceso predeterminado es un acceso a nivel de paquete, porque una clase con acceso predeterminado puede verse solo por clases dentro del mismo paquete.

Si una clase tiene acceso predeterminado, una clase en otro paquete no podrá crear una instancia de esa clase, o incluso declarar una variable o tipo de retorno . El compilador se quejará. Por ejemplo:

package humanity; class Person {} package family; import humanity.Person; class Child extends Person {}

Intenta compilar estas 2 fuentes. Como puede ver, están en diferentes paquetes y la compilación fallará.


  • privado: visible solo para clases externas
  • protegido: visible solo para clases externas
  • público: visible para todas las demás clases
  • clase: paquete-privado, tan visible para las clases dentro del mismo paquete

Ver JLS para más información.