Modificadores de acceso (public, protected y private) JAVA

Para controlar el acceso a nuestros atributos y métodos se utilizan los modificadores de
acceso que no son más que palabras reservadas del lenguaje que se encargarán de
controlar desde dónde serán accesibles los miembros de una clase, estos modificadores
son:

 private (Acceso solo dentro de la clase)

 protected (Acceso desde la clase y sus hijos "herencia")

 Vacío (Sin escribir nada, denominado acceso de paquete)

 public (Acceso publico desde cualquier lugar)

Estos modificadores de acceso se colocan justo delante del valor de retorno de un
método, o del tipo de un atributo, así que de momento y hasta que no expliquemos el
concepto de herencia, utilizaremos los más sencillos, private y public. A continuación
podemos ver un ejemplo de su uso en una clase:
?
1
2
3 public class Vehiculo {
//Atributos con acceso private
4 private String modelo;
5 private int velocidad;
6 private boolean arrancado;
7 //El constructor siempre debe de ser public
8 public Vehiculo(String modelo, int velocidad, boolean arrancado) {
this.modelo = modelo;
9 this.velocidad = velocidad;
10 this.arrancado = arrancado;
11 }
12 //Atributos getter con acceso public
public String getModelo() {
13 return modelo;
14 }
15
16 public int getVelocidad() {
17 return velocidad;
18 }
19
public boolean isArrancado() {
20 return arrancado;
21 }
22}
23
24
Como vemos, hemos definido los atributos private, así nadie podrá modificarlos sin
nuestro consentimiento, el constructor es public para permitir instancias de la clase
desde fuera del archivo Vehiculo.java, y los métodos get serán también public, para
permitir a cualquiera consultar el valor de nuestros atributos.

Con los modificadores de acceso. A continuación podéis ver un ejemplo donde lo veréis todo más claro: ? 1 2 //Atributos private 3 private String nombre. El cuanto al modificador protected. y cuando necesitemos consultar su valor o modificarlo.nombre = nombre.casado = casado. y también desde las clases que hereden de esta o subclases. } 11 public String getNombre() { 12 return nombre. como modificar atributos introduciendo valores inválidos o llamando a métodos que pueden tener efectos no deseados. 13 } 14 public boolean isCasado() { 15 return casado. 8 } 9 public void setCasado(boolean casado) { 10 this. utilicemos los métodos get y set.nombre" nos referimos al atributo nombre de la clase y con "nombre" nos referimos al parámetro con el mismo nombre. . evitamos que nuestros programas tengan un uso no deseado. Además en caso de que el tipo de valor devuelto por el método sea un boolean. este hace nuestro miembro (atributo o método) accesible desde la propia clase. se utilizará is en vez de get. Recuerda que cuando utilizamos "this. } 16 17 Como vemos los metodos setCasado y setNombre se encargan de modificar los atributos y los métodos getNombre y isCasado nos permiten obtener sus valores. Buenas prácticas En generar se aconseja declarar todos los atributos como private. 5 6 //Metodos get y set para estos atributos public void setNombre(String nombre) { 7 this. 4 private boolean casado.