Capítulo 5
Paquetes y Modificadores de acceso

Control de acceso a miembros de una clase

Los modificadores más importantes desde el punto de vista del diseño de clases y objetos, son los que permiten controlar la visibilidad y acceso a los métodos y variables que están dentro de una clase.

Uno de los beneficios de las clases, es que pueden proteger a sus variables y métodos (tanto de instancia como de clase) del acceso desde otras clases.

Java soporta cuatro niveles de acceso a variables y métodos. En orden, del más público al menos público son: público (public), protegido (protected), sin modificador (también conocido como package) y privado (private).

La siguiente tabla muestra el nivel de acceso permitido por cada modificador:

  public protected (sin modificador) private
Clase SI SI SI SI
Subclase en
el mismo paquete
SI SI SI NO
No-Subclase en
el mismo paquete
SI SI SI NO
Subclase en
diferente paquete
SI SI/NO (*) NO NO
No-Subclase en
diferente paquete
(Universo)
SI NO NO NO
(*) Los miembros (variables y metodos) de clase (static) si son visibles. Los miembros de instancia no son visibles.

Como se observa de la tabla anterior, una clase se ve a ella misma todo tipo de variables y métodos (desde los public hasta los private); las demas clases del mismo paquete (ya sean subclases o no) tienen acceso a los miembros desde los public hasta los sin-modificador. Las subclases de otros paquetes pueden ver los miembros public y a los miembros protected, éstos últimos siempre que sean static ya de no ser así no serán visibles en la subclase (Esto se explica en la siguiente página). El resto del universo de clases (que no sean ni del mismo paquete ni subclases) pueden ver sólo los miembros public.

«Indice»     «Anterior»     « Siguiente »