Entenderemos los modificadores de acceso Java como un conjunto de palabras clave de Java que nos permiten controlar la visibilidad de los objetos (Clases), estado (Propiedades) y funcionalidades (Métodos) de una aplicación desde otras partes de la misma. Este control de acceso que normalmente se realiza en lenguajes orientados a objetos se llama encapsulamiento.

Encapsulamiento

El encapsulamiento concretamente se preocupa de mantener las propiedades de las clases inaccesibles desde fuera (a través de la palabra clave private), para hacerlas accesibles posteriormente a base de métodos accesibles desde fuera (public, package o sin definir ningún modificador de acceso) evitando el uso de esas propiedades directamente y promoviendo el uso de las mismas a partir de métodos. Ya veremos en detalle el concepto de encapsulamiento en otro post.

El conjunto de métodos para obtener y alterar variables suelen comenzar su nombre como getXX y setXX, donde XX indica el nombre de la propiedad. A estos métodos se les conoce como métodos accesores.

Modificadores de acceso

modificadores de acceso java
modificadores de acceso java

Los modificadores de acceso se pueden aplicar a clases, propiedades y métodos. Son los siguientes:

  • public: El método, propiedad o clase es accesible desde cualquier parte de la aplicación.
  • private: El método o propiedad es accesible sólo desde la clase en la que se encuentra. En caso de una clase, sólo las «inner classes» pueden ser privadas, ya que no tiene sentido definir una clase de primer nivel privada si nadie pudiera luego acceder a ella.
  • protected:  El método es accesible por código que esté dentro del mismo paquete y subclases (aunque estas esten en otro paquete)
  • Sin especificar: Cuando no especificamos ningún modificador de acceso se aplica el «por defecto», este tiene la misma función que el anterior sin que entren en juego las subclases. Sólo permite el acceso a ese código desde dentro del mismo paquete. (También se conoce como package-private, que es más fácil de recordar)

Podemos usar la siguiente tabla como resumen para recordar los usos, pero una vez se asimilan los conceptos es muy fácil de recordar.

La propia ClaseEl propio PaqueteSubclaseOtro paquete
privateX
default (Sin especificar)XX
protectedXXX
publicXXXX

Con esto ya tenemos más claro el uso y funcionamiento de los modificadores de acceso de Java.

Java Básico: Modificadores de acceso
Etiquetado en:        

3 pensamientos en “Java Básico: Modificadores de acceso

  • Pingback: Java Básico Encapsulamiento - Blog de Juanla

  • 5 diciembre, 2019 a las 5:11 am
    Enlace permanente

    Me parece que tu tabla es incorrecta, una subclase del mismo paquete si tiene acceso a los miembros con modificador default.

    Responder
    • 1 marzo, 2020 a las 6:33 pm
      Enlace permanente

      Hola! tienes razón. Revisando la tabla la voy a simplificar por que a fin de cuentas que sea una Subclase del mismo u otro paquete no tiene ninguna influencia sobre el acceso a la misma. Y dividir en 2 columnas la parte de las subclases puede llevar a más confusión que otra cosa. Creo que con esa modificación sería suficiente para que entre el texto y la tabla quede claro del todo. Muchas gracias por avisar!

      Responder

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Social media & sharing icons powered by UltimatelySocial