Java proporciona control de acceso a través de tres palabras clave: privada , protegida y pública . No estamos obligados a usar estos modificadores de acceso siempre, por eso tenemos otro modificador de acceso cuando no usamos ninguno de estos tres modificadores de acceso, comúnmente conocidos como ” acceso predeterminado “, ” paquete privado ” o ” sin modificador “.
Podemos usar modificadores de acceso con clases, así como con variables y métodos de clase.
Modificadores de acceso a clases Java
- ¿Cuál es el framework PHP más rápido?
- ¿Cómo se ve una página web bien codificada? ¿Hay alguna guía sobre cómo usar HTML5 de una buena manera?
- ¿Cuál es el mejor recurso para aprender la versión AngularJS 2.0?
- ¿Cuál es el mejor marco de CMS?
- ¿Cuál es el punto de PostCSS?
Se nos permite usar solo modificadores de acceso “públicos” o “predeterminados” con clases de Java.
- Si una clase es “pública”, entonces podemos acceder a ella desde cualquier lugar, es decir, desde cualquier otra clase ubicada en cualquier otro paquete, etc.
- Solo podemos tener una clase “pública” en un archivo fuente y el nombre del archivo debe ser el mismo que el nombre de la clase pública.
- Si la clase tiene “acceso predeterminado”, solo se puede acceder desde otras clases en el mismo paquete.
Modificadores de acceso de miembro de clase Java
Podemos tener los cuatro modificadores de acceso para variables y métodos de miembros de clase. Sin embargo, las reglas del modificador de acceso de miembros se aplican después de las reglas de acceso de nivel de clase. Por ejemplo, si la clase tiene acceso predeterminado, no estará visible en otros paquetes y, por lo tanto, los métodos y variables de la clase tampoco estarán visibles.
Examinaremos cada uno de ellos por separado y luego mostraremos los accesos con un programa simple.
palabra clave pública
Si el miembro de la clase es “público”, se puede acceder desde cualquier lugar. Se accede a la variable o método miembro globalmente. Esta es la forma más sencilla de proporcionar acceso a los miembros de la clase, sin embargo, debemos tener cuidado al usar esta palabra clave con variables de clase, de lo contrario, cualquiera puede cambiar los valores. Por lo general, las variables de clase se mantienen como privadas y se proporcionan métodos getter-setter para trabajar con ellas.
palabra clave privada
Si el miembro de la clase es “privado”, será accesible solo dentro de la misma clase. Este es el acceso más restringido y el miembro de la clase no será visible para el mundo exterior. Por lo general, mantenemos las variables de clase como privadas y los métodos destinados a ser utilizados solo dentro de la clase como privados.
palabra clave protegida
Si el miembro de la clase está “protegido”, entonces será accesible solo para las clases en el mismo paquete y para las subclases . Este modificador está menos restringido del acceso privado pero más restringido del acceso público. Usualmente usamos esta palabra clave para asegurarnos de que las variables de clase sean accesibles solo para las subclases.
acceso predeterminado
Si el miembro de la clase no tiene ningún modificador de acceso especificado, entonces se trata con acceso predeterminado. Las reglas de acceso son similares a las clases y el miembro de la clase con acceso predeterminado será accesible para las clases solo en el mismo paquete. Este acceso es más restringido que el público y protegido, pero menos restringido que el privado.
(Menos accesible) privado < predeterminado < protegido < público (Más accesible)