Para explicar el
uso final vamos a hacerlo mediante
un ejemplo, nos vamos a crear un archivo de Pruebas que nos va a solicitar el nombre y la sección del
trabajador.
package poo;
public class Pruebas {
public static void main(String[] args) {
}
}
A continuación, nos
creamos la clase Trabajador con el
constructor y las propiedades declaradas con el método de acceso private:
package poo;
public class Pruebas {
public static void main(String[] args) {
}
}
class Trabajador {
public Trabajador(String nom) {
nombre = nom;
seccion = "Administracion";
}
private String nombre;
private String seccion;
}
Nos vamos a crear
un método para cambiar de sección:
public void cambiar_Seccion(String seccion) {
this.seccion = seccion;
}
Creamos un método Getter para que no devuelva la
información del nombre y la sección del trabajador:
public String devolverDatos() {
return "El nombre del empleado es: "+nombre+" y la sección es "+seccion;
}
Creamos dos objetos
de tipo Trabajador y llamamos al método devolverDatos();
public static void main(String[] args) {
Trabajador trabajador1 = new Trabajador("Noelia Campos");
Trabajador trabajador2 = new Trabajador("Juan Diaz");
System.out.println(trabajador1.devolverDatos());
System.out.println(trabajador2.devolverDatos());
}
Probamos:
Si hacemos lo
siguiente:
public static void main(String[] args) {
Trabajador trabajador1 = new Trabajador("Noelia Campos");
Trabajador trabajador2 = new Trabajador("Juan Diaz");
trabajador1.cambiar_Seccion("RRHH");
System.out.println(trabajador1.devolverDatos());
System.out.println(trabajador2.devolverDatos());
}
Mediante el método cambiar_Seccion cambiamos la sección
del primer trabajador, si probamos:
Hasta aquí todo
bien. Pero ahora nos vamos a crear otro método para cambiar de nombre:
public void cambiar_Nombre(String nombre) {
this.nombre = nombre;
}
Si cambiamos el
nombre de uno de los trabajadores:
public static void main(String[] args) {
Trabajador trabajador1 = new Trabajador("Noelia Campos");
Trabajador trabajador2 = new Trabajador("Juan Diaz");
trabajador1.cambiar_Seccion("RRHH");
trabajador2.cambiar_Nombre("Jose");
System.out.println(trabajador1.devolverDatos());
System.out.println(trabajador2.devolverDatos());
}
Probamos:
El programa
funciona bien, no hay errores, sin embargo, no tiene sentido cambiar el nombre
del empleado porque siempre va a tener el mismo. Por lo que es conveniente que
variables que van a estar fijas sin modificarse se declaren como constantes:
private final String nombre;
Una vez que hemos
modificado la variable y la hemos convertido en una constante automáticamente
nos da error el método cambiar_Nombre()
ya que la constante no se puede modificar, por lo que eliminamos este método y
la línea de código en el método main donde lo hemos utilizado para cambiar el
nombre del Trabajador.
Este es el uso de final.
2.7 FICHEROS FUENTE << >> 2.9 USO STATIC
No hay comentarios:
Publicar un comentario