Hola te saluda Ubal lacosta bienvenidos nuevamente.
Espero que estén listos para comenzar con esta lección.
Vamos a estudiar a continuación el tema de la palabra Nul en Yahoo están listos.
Vamos
palabra Null en Java la palabra nula en Java la utilizamos con el objetivo de indicar que aún no se
le ha asignado ninguna referencia de ningún objeto a una variable de tipo Object no es posible asignar
el valor NULL a una variable de tipo primitivo.
Esta literal solamente la utilizaremos para variables de tipo obvie como podemos observar en la figura
en primer lugar creamos la variable P1 de tipo personal la cual se crea en la memoria Agip y se le asigna
la ubicación de memoria por ejemplo 0 x 3 3 3 posteriormente creamos la variable P2 y le asignamos la
referencia almacenada por la variable 1 es decir que tanto la variable P1 como la variable P2 apuntan
al mismo objeto y ambas variables pueden acceder al mismo objeto
finalmente la variable P1 decidimos que ya no vamos a utilizarla y para ello asignamos el valor de Null.
Esto significa que pierde la referencia del objeto creado y por lo tanto solamente la variable P2 ahora
podrá acceder al objeto persona asignado en la ubicación de memoria 0 x 3 3 3.
Así que la variable P1 ya no apunta al objeto persona.
Sin embargo podemos hacernos otra pregunta Qué sucede si hacemos P2 igual a NULL qué sucede si asignamos
el valor de Null a la variable P2 lo que sucedería es que ahora la variable P2 ya no apunta al objeto
persona sino que ahora tiene el valor de Null asignado y ella tampoco apuntaría al objeto de tipo persona.
Esto significaría que el objeto persona ya no apunta a ninguna variable y por lo tanto queda inaccesible
desde el punto de vista del recolector de basura de IAVA sería un objeto candidato para ser eliminado
de la memoria ya que ninguna variable puede acceder y por lo tanto es inservible ya sólo queda que sea
eliminado de la memoria Agip por medio del proceso de recolector de basura llamando el método Sistem
punto G C es decir Garbarz colector o recolector de basura.
Cabe aclarar que el recolector de basura no podemos obligarlo a que inicie su proceso de limpieza de
objetos sólo podemos mandar a llamar al método y esperar que la misma máquina virtual de Java decida
en qué momento es más conveniente iniciar este proceso ya que es un proceso que utiliza muchos recursos
de nuestra computadora o servidor.
Sin embargo si ya no vamos a utilizar un objeto es conveniente y buena práctica que asignemos el valor
de Nul a la variable que estaba apuntando al objeto creado previamente.
Con esto una vez que inicia el proceso de recolección de basura el objeto creado será candidato a ser
eliminado finalmente podemos darnos cuenta de que las variables creadas en la memoria Stagg son temporales
de menor duración y una vez concluido el método y o programa en el que fueron creadas dichas variables
éstas se destruyen.
Sin embargo las variables creadas en la memoria Agip que son objetos Java tienden a durar más tiempo
en la memoria y se destruyen hasta que se concluye el proceso de la máquina virtual de Java completo
o se ejecuta el proceso de recolección de basura por ello es que es buena práctica que si ya no vamos
a utilizar el objeto eliminemos cualquier referencia de cualquier variable que apunte al objeto asignando
el valor de Nul a dicha variable ejemplo utilizando la palabra Null en Java podemos observar el código
de la lámina en el cual estamos creando un objeto de tipo persona
así que en primera instancia estamos creando la variable 1 y le asignamos el valor de la referencia
donde se ha creado el objeto de tipo personal así que básicamente aquí le estamos asignando el valor
donde se encuentra creado el objeto de tipo Persona posteriormente en la línea 5 mandamos a imprimir
el nombre del objeto persona cuya referencia está almacenada en la variable P1 y podemos observar que
el valor es igual a Juan ya sea porque lo estamos observando cuando se creó el objeto o también gráficamente
podemos observar el valor del objeto en este caso el objeto persona apuntado por la variable P1.
Posteriormente en la línea 7 creamos la variable P2.
Esta variable le asignamos el valor de la variable P1 es decir que ahora también la variable P2 apunta
al mismo objeto creado en la línea 4.
Esto se comprueba en la línea 8 en donde la variable P2 imprime el mismo nombre de la persona asignada
en la variable P1 es decir que en este momento también imprime el valor de Juan.
Posteriormente utilizamos la palabra Null la literal NULL para indicar que la variable P1 no apunta
a ningún objeto y de hecho si quisiéramos ejecutar el método de p 1 punto obtener nombre nos arrojaría
un error ya que esta variable ya no puede acceder a los métodos ni atributos del objeto persona así
que nos arrojaría la excepción de null pointer exception debido a que esta variable no tiene asignada
ninguna referencia en memoria y por lo tanto únicamente contiene el valor de Null.
El tema de manejo de excepciones lo estudiaremos a detalle en cursos posteriores.
Sin embargo es importante entender el uso de Nul y la razón por la cual nos marca este error conocido
como nulo intercepción el cual será uno de los más comunes cuando trabajamos con Java y básicamente
significa que estamos tratando de acceder a un método o atributo de una clase en la cual la variable
aún no se le ha asignado una referencia de un objeto válida y por lo tanto el valor es nulo.
Finalmente en la línea 14 podemos comprobar que la variable P2 continúa accediendo sin problemas al
objeto persona y puede seguir imprimiendo el nombre asignado a este objeto.
Vamos a revisar a continuación un ejercicio para poner en práctica el concepto de la palabra Null en
Java.