Cuando se definió la clase Publicacion, el campo idPublicacion se pensó para que se generase de forma automática y de forma coherente. Por tanto cualquier modificación externa sobre este campo podría dejar al
objeto en un estado inconsistente, y podríamos tener dos objetos con el mismo identificador. Queremos por tanto que este campo sólo se pueda leer y no pueda ser modificado por ningún otro objeto. Para ello se "oculta"
este campo y se proporciona un método público para poder acceder a su valor:
¿Qué hemos conseguido? Ahora para acceder al valor del campo idPublicacion será necesario utilizar el método id. Y la única forma de modificar este campo será por medio de métodos internos a la clase Publicacion .
Estos mecanismos que regulan el acceso se denominan métodos de acceso y se resumen en la siguiente tabla:
En los constructores de las clases, se pueden utilizar especificadores de acceso para indicar que objetos pueden crear ejemplares de su clase: private si ninguna clase puede crear un objeto de
su clase, sólo se podrá crear por medio de métodos públicos de la clase, protected cuando sólo las subclases pueden crear objetos, public si cualquiera puede crear objetos
de esta clase y package-access cuando sólo desde los objetos pertenecientes al mismo paquete se pueden crear objetos de esa clase.