Modificadores de acceso en Java

Modificadores de acceso en Java

En Java existen 4 modificadores de acceso pero solo se pueden declarar explicitamente 3.

Los modificadores de acceso en orden de restricción en Java son:

  • private : Es el modificador de acceso mas restrictivo en Java solo es posible acceder a los metodos o variables desde su misma clase.

  • default : Este modificador de acceso es algo especial ya que no tiene una palabra reservada para declararse, es decir al declarar una variable o método sin algún modificador de acceso como private, protected o public , el modificador de acceso de ese método o variable sera default, este modificador de acceso también es llamado package , por ejemplo :

 String variableDefault;
 private String variableNoDefault;

Este modificador de acceso solamente permitirá a clases que están dentro de su mismo paquete acceder a sus metodos y variables.

  • protected : El modificador de acceso protected indica que los elementos sólo pueden ser accedidos desde su mismo paquete y desde cualquier clase que herede de la clase en que se encuentra declarado el método o variable como protected, esto quiere decir que si una clase quiere acceder a un método o variable marcado como protected deberá heredar de esa clase o moverse a su mismo paquete si es que no se encuentra.

  • public : El modificador de acceso publico indica que será posible acceder al recurso (que se encuentre marcado como public) desde cualquier clase o método sin importar el paquete.

Aquí una tabla sencilla para ejemplificar(de menos restrictivo al mas restrictivo):

Modificador de acceso

clase

Paquete

Subclase

Todos

public

protected

No

Default / No especificado / Package

No

No

private

No

No

No

Se que es un tema sencillo y algo corto, pero es muy importante saber que existen 4 modificadores de acceso en Java y cuales son las diferencias entre ellos, ya que a simple vista(por así decirlo) pareciera que existen solo 3, este es un tema de la certificación.