public, private y protected

2672 vistas

Estas palabras clave del lenguaje Java definen el alcance de una variable, de un método o de una clase. Existen cuatro modificadores de visibilidad o acceso. El cuarto es el modificador vacÃo (nada, sin modificador). No confundir éste último con public.

Veamos las caracterÃsticas de estos modificadores, de más permiso (o visibilidad) a menos:

[table]
  [tr]
    [td]Palabra[/td]
    [td]Visibilidad[/td]
    [td]Observaciones[/td]
  [/tr]
  [tr]
    [td]Public[/td]
    [td]Las variables, métodos o clases públicas son accesibles des de cualquier objeto.[/td]
    [td]La clase principal de un fichero .java tiene que ser obligatoriamente pública.[/td]
  [/tr]
  [tr]
    [td]"vacÃo"[/td]
    [td]Las variables, métodos o clases definidas sin modificador son accesibles para cualquier clase que pertenezca al mismo paquete.[/td]
    [td]Atención: las variables sin modificador no son accesibles a las clases hijas definidas en otro paquete.[/td]
  [/tr]
  [tr]
    [td]protected[/td]
    [td]Las variables, métodos o clases definidas como protegidas sólo son accesibles a las clases hijas o del mismo paquete.[/td]
    [td] [/td]
  [/tr]
  [tr]
    [td]private[/td]
    [td]Las variables, métodos o clases definidas como privadas sólo son accesibles por la clase en la que han sido definidas.[/td]
    [td]Es muy aconsejable declarar como privadas todos los atributos de una clase y crear métodos del tipo get/set para acceder a ellas.[/td]
  [/tr]
[/table]

Por supuesto, cualquier variable, método o clase definida en la misma clase, será accesible desde ésta.