Este dilema se puede tratar de diversas formas, pero te compartimos la solución más completa en nuestra opinión.
Solución:
El tutorial no es realmente necesario para esto. Leer sobre encapsulación
private String myField; //"private" means access to this is restricted
public String getMyField()
//include validation, logic, logging or whatever you like here
return this.myField;
public void setMyField(String value)
//include more logic
this.myField = value;
En Java getters y setters son funciones completamente ordinarias. Lo único que los hace getters o setters es la convención. Un getter para foo se llama getFoo y el setter se llama setFoo. En el caso de un valor booleano, el getter se llama isFoo. También deben tener una declaración específica, como se muestra en este ejemplo de getter y setter para ‘name’:
class Dummy
private String name;
public Dummy()
public Dummy(String name)
this.name = name;
public String getName()
return this.name;
public void setName(String name)
this.name = name;
La razón para usar getters y setters en lugar de hacer públicos a sus miembros es que permite cambiar la implementación sin cambiar la interfaz. Además, muchas herramientas y kits de herramientas que usan la reflexión para examinar objetos solo aceptan objetos que tienen captadores y definidores. JavaBeans, por ejemplo, debe tener captadores y definidores, así como algunos otros requisitos.
class Clock
String time;
void setTime (String t)
time = t;
String getTime()
return time;
class ClockTestDrive
public static void main (String [] args)
Clock c = new Clock;
c.setTime("12345")
String tod = c.getTime();
System.out.println(time: " + tod);
Cuando ejecuta el programa, el programa se inicia en la red eléctrica,
- se crea el objeto c
- función
setTime()
es llamado por el objeto c - La variable
time
se establece en el valor pasado por - función
getTime()
es llamado por el objeto c - el tiempo es devuelto
- pasará a
tod
ytod
obtener impreso