Curso Java . Uso static. Vídeo 37
Uso de la palabra reservada static en Java
Introducción a static
- El video se centra en el uso de la palabra reservada
staticen Java, explicando su significado y las implicaciones que conlleva.
- Se menciona que
staticpuede aplicarse tanto a variables constantes como a métodos, convirtiéndolos en elementos de clase.
Ejemplo práctico
- Se retoma un ejemplo del video anterior donde se trabaja con una clase llamada
Empleados, que tiene un constructor y métodos para gestionar datos de empleados.
- La clase incluye un método setter para cambiar la sección y un método getter para obtener los datos de los trabajadores.
Implementación de ID único
- Se propone añadir un número identificativo (ID) único para cada trabajador, incrementándose correlativamente al crear nuevos objetos.
- Se explica cómo asignar IDs únicos a los trabajadores sin repetir números, lo cual es común en empresas.
Desafíos sin static
- Aunque es posible implementar el sistema sin usar
static, se señala que podría volverse engorroso al manejar muchos trabajadores.
- Se plantea la creación de una variable estática para simplificar el manejo del ID y evitar errores al asignar números.
Modificaciones necesarias
- Para implementar el ID, se debe modificar el constructor de la clase
Empleadospara aceptar dos parámetros: nombre e ID.
- Al instanciar objetos, hay que asegurarse de pasar ambos parámetros; esto genera un error si solo se pasa uno.
Verificación del funcionamiento
- Se ajusta el método getter para devolver también el ID junto con el nombre y la sección del trabajador.
¿Cómo asignar IDs automáticamente a los trabajadores en Java?
Problemas con la asignación manual de IDs
- Se menciona que al asignar el mismo ID a diferentes trabajadores, se corre el riesgo de tener IDs duplicados, lo cual es problemático.
- La solución propuesta es que el programa Java asigne automáticamente los IDs de forma correlativa al crear nuevos trabajadores.
Introducción a la palabra reservada static
- Se introduce el concepto de
static, explicando su importancia para entender cómo funcionan las variables en Java.
- Se presentan las variables declaradas en la clase: nombre, sección e ID, y se explica que cada objeto tiene su propia copia de estas variables.
Comportamiento de las instancias y copias de variables
- Cada instancia (trabajador uno y trabajador dos) tiene una copia independiente de las variables, lo que significa que pueden almacenar valores diferentes.
- Para evitar que cada trabajador tenga su propia copia del ID, se necesita una única variable compartida entre todos los objetos.
Implementación del modificador static
- Al usar
static, se logra que todos los objetos compartan la misma variable ID en lugar de tener copias individuales.
- Se propone modificar el código para implementar esta solución y así permitir un manejo más eficiente del ID.
Cambios necesarios en el código
- Se indica que hay que eliminar parámetros innecesarios relacionados con el ID en el constructor y ajustar la declaración del campo ID para hacerlo público y estático.
Manejo de ID en Clases de Empleados
Introducción a la Variable ID
- Se discute cómo la variable ID no pertenece a un objeto específico, sino a la clase
empleados, lo que provoca que todos los trabajadores tengan el mismo ID.
Incremento del Valor de ID
- Al ejecutar el programa, se observa que tanto el trabajador uno como el dos tienen un ID igual a 1. Si se incrementa manualmente el valor de ID antes de imprimir los resultados del trabajador dos, este tendrá un ID diferente.
Uso Correcto de Variables Estáticas
- Se explica que para utilizar una variable estática, es necesario referirse al nombre de la clase y no al objeto. Esto resalta la importancia del contexto en programación orientada a objetos.
Problemas con el Enfoque Actual
- Aunque se puede incrementar manualmente el valor de ID antes de imprimir los datos, esto presenta problemas:
- La necesidad constante de incrementar manualmente.
- Violación del principio de encapsulación al declarar la variable pública.
Solución Propuesta para Mejorar Encapsulación
- Se sugiere cambiar la declaración del ID a privada y crear una nueva variable estática llamada
ID siguientepara manejar automáticamente los IDs sin intervención manual.
Implementación en el Constructor
- En el constructor, se asigna
IDigual aID siguientey luego se incrementaID siguiente. Esto asegura que cada nuevo objeto creado obtenga un ID único automáticamente.
Ejemplo Práctico con Nuevos Trabajadores
Comprendiendo Variables Estáticas en Java
Introducción a las Variables Estáticas
- Se explica cómo se utiliza
system.out.printlnpara devolver datos, mostrando el ID de un objeto (María) de la clase empleados.
- La variable estática
IDes única para cada objeto de la clase empleados, mientras que otras variables son copias individuales por objeto.
Acceso y Modificadores de Visibilidad
- Se menciona que al intentar acceder a una variable estática privada desde fuera de su clase, se genera un error.
- La constante
Pies pública y puede ser utilizada fuera de su clase, lo que permite entender mejor el concepto de accesibilidad.
Constantes y Modificadores
- La declaración como
finalindica que el valor no puede cambiar; esto contrasta con la variableID, que sí puede modificarse.
- Si se intenta declarar
ID siguientecomo final, Eclipse marcará un error porque no se puede cambiar su valor si es constante.
Ejemplos Prácticos
- En la clase donde se define Pi, este debe ser final ya que su valor siempre será 3.1416.
- Para utilizar constantes o variables estáticas, se usa el nombre de la clase seguido del nombre de la variable o constante.
Reflexiones Finales sobre Aprendizaje