Vous êtes sur la page 1sur 5

Modificadores de acceso

¿Qué es un modificador de acceso?

Los modificadores de acceso, como su nombre indica, determinan desde qué


clases se puede acceder a un determinado elemento. En Java tenemos 4 tipos:
public, private, protected y el tipo por defecto, que no tiene ninguna palabra clave
asociada, pero se suele conocer como default o package-private.

Tanto las clases como sus elementos (constructores, campos y


métodos) pueden verse modificados por lo que se suelen llamar
modificadores de acceso, que indican hasta dónde es accesible el
elemento que modifican.

Tipos de modificadores:

 privado: el elemento es accesible sólo desde la clase en que se encuentra


 protegido: el elemento es accesible desde la propia clase, desde sus
subclases, y desde clases del mismo paquete
 público: el elemento es accesible desde cualquier clase
 paquete: el elemento es accesible desde la propia clase, o desde clases del
mismo paquete.
Finalidad de los modificadores de acceso según el tipo

DEFAULT:

Si no elegimos ningún modificador, se usa el de por defecto, que sólo puede ser
accedido por clases que están en el mismo paquete.

PUBLIC:

Este nivel de acceso permite a acceder al elemento desde cualquier clase,


independientemente de que esta pertenezca o no al paquete en que se encuentra
el elemento.

PRIVATE:
Es el modificador más restrictivo y especifica que los elementos que lo utilizan sólo
pueden ser accedidos desde la misma clase en la que se encuentran. Este
modificador sólo puede utilizarse sobre los miembros de una clase y sobre
interfaces y clases internas, no sobre clases o interfaces de primer nivel, dado que
esto no tendría sentido.

PROTECTED:

Indica que los elementos sólo pueden ser accedidos desde su mismo paquete y
desde cualquier clase que extienda la clase en que se encuentra,
independientemente de si esta se encuentra en el mismo paquete o no. Este
modificador, como private, no tiene sentido a nivel de clases o interfaces no
internas.

La protección por defecto es la que damos cuando no ponemos ningún


modificador de acceso en la declaración del miembro. El control de acceso
“default” y “protected” tienen casi un comportamiento idéntico, excepto por una
diferencia que veremos después.

¿Qué significa que el código de una clase tiene acceso al miembro de otra clase?;
Por ahora vamos a ignorar cualquier diferencia entre métodos y variables. Si una
clase A tiene acceso a un miembro de la clase B, esto significa que el miembro de
la clase B es visible a la clase A.

Ejemplo de modificadores de acceso

Miembros Public

Cuando un método o una variable miembro es declarada como public, esto


significa que todas las clases, sin importar el paquete al que pertenece, puede
acceder al miembro.

EJEMPLOS DE MODIFICADORES DE ACCESO

Ejemplo 1
con modificador de acceso private:

Ejemplo 2

con modificador de acceso defecto (default)

Ejemplo 3
con modificador de acceso protected:

Ejemplo 4

modificador de acceso public:

Vous aimerez peut-être aussi