2.8 CONSTANTES USO FINAL

 

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