Los modificadores de acceso nos permiten determinar desde que clase o desde que parte de nuestro programa cierto elemento podrá ser accedido o utilizado, como por ejemplo: una variable, un método o una clase, etc.
En Java existen los siguientes modificadores de acceso:
- Private: Es el más restrictivo de todos y los elementos que hagan uso de él, solo podrán ser accedidos dentro de la misma clase. (Se aplica a los atributos o miembros de una clase, interfaces y clases internas).
- Protected: Los elementos podrán ser accedidos desde el mismo paquete y desde cualquier clase que extienda o herede de la clase padre, independientemente si se encuentran en el mismo paquete o no. (Se aplica a los miembros de una clase como atributos, métodos, etc.)
- Public: Es el menos restrictivo de todos ya que se puede acceder desde cualquier parte, es decir está abierto o disponible para todos (Se aplica a clases, métodos, atributos, interfaces, etc.)
- Default: Es el nivel de acceso por defecto, cuando no declaramos de forma explícita un modificador (no especificado), los elementos solo podrán ser accedidos dentro del mismo paquete.
Esto se entenderá mejor en la siguiente tabla:
MODIFICADOR
|
CLASE |
PAQUETE
|
SUBCLASE
|
TODOS (otras clases)
|
Private
|
SI
|
NO
|
NO
|
NO
|
Protected
|
SI
|
SI
|
SI
|
NO
|
Public
|
SI
|
SI
|
SI
|
SI
|
Default
|
SI
|
SI
|
NO
|
NO
|