1
00:00:11,180 --> 00:00:15,600
Hola te saluda Ubal lacosta bienvenidos nuevamente.

2
00:00:15,890 --> 00:00:19,270
Espero que estén listos para comenzar con esta lección.

3
00:00:19,310 --> 00:00:24,440
Vamos a estudiar a continuación el tema de la palabra Nul en Yahoo están listos.

4
00:00:24,440 --> 00:00:24,840
Vamos

5
00:00:28,280 --> 00:00:35,610
palabra Null en Java la palabra nula en Java la utilizamos con el objetivo de indicar que aún no se

6
00:00:35,610 --> 00:00:43,840
le ha asignado ninguna referencia de ningún objeto a una variable de tipo Object no es posible asignar

7
00:00:43,930 --> 00:00:47,060
el valor NULL a una variable de tipo primitivo.

8
00:00:47,140 --> 00:00:55,010
Esta literal solamente la utilizaremos para variables de tipo obvie como podemos observar en la figura

9
00:00:55,280 --> 00:01:02,180
en primer lugar creamos la variable P1 de tipo personal la cual se crea en la memoria Agip y se le asigna

10
00:01:02,180 --> 00:01:11,850
la ubicación de memoria por ejemplo 0 x 3 3 3 posteriormente creamos la variable P2 y le asignamos la

11
00:01:11,850 --> 00:01:19,830
referencia almacenada por la variable 1 es decir que tanto la variable P1 como la variable P2 apuntan

12
00:01:19,920 --> 00:01:24,240
al mismo objeto y ambas variables pueden acceder al mismo objeto

13
00:01:26,650 --> 00:01:34,570
finalmente la variable P1 decidimos que ya no vamos a utilizarla y para ello asignamos el valor de Null.

14
00:01:34,630 --> 00:01:41,260
Esto significa que pierde la referencia del objeto creado y por lo tanto solamente la variable P2 ahora

15
00:01:41,260 --> 00:01:47,830
podrá acceder al objeto persona asignado en la ubicación de memoria 0 x 3 3 3.

16
00:01:48,100 --> 00:01:52,430
Así que la variable P1 ya no apunta al objeto persona.

17
00:01:52,450 --> 00:02:00,370
Sin embargo podemos hacernos otra pregunta Qué sucede si hacemos P2 igual a NULL qué sucede si asignamos

18
00:02:00,400 --> 00:02:09,090
el valor de Null a la variable P2 lo que sucedería es que ahora la variable P2 ya no apunta al objeto

19
00:02:09,090 --> 00:02:17,300
persona sino que ahora tiene el valor de Null asignado y ella tampoco apuntaría al objeto de tipo persona.

20
00:02:17,340 --> 00:02:23,310
Esto significaría que el objeto persona ya no apunta a ninguna variable y por lo tanto queda inaccesible

21
00:02:23,910 --> 00:02:29,460
desde el punto de vista del recolector de basura de IAVA sería un objeto candidato para ser eliminado

22
00:02:29,460 --> 00:02:36,780
de la memoria ya que ninguna variable puede acceder y por lo tanto es inservible ya sólo queda que sea

23
00:02:36,780 --> 00:02:42,840
eliminado de la memoria Agip por medio del proceso de recolector de basura llamando el método Sistem

24
00:02:42,850 --> 00:02:48,020
punto G C es decir Garbarz colector o recolector de basura.

25
00:02:48,030 --> 00:02:53,580
Cabe aclarar que el recolector de basura no podemos obligarlo a que inicie su proceso de limpieza de

26
00:02:53,580 --> 00:03:00,720
objetos sólo podemos mandar a llamar al método y esperar que la misma máquina virtual de Java decida

27
00:03:00,780 --> 00:03:07,770
en qué momento es más conveniente iniciar este proceso ya que es un proceso que utiliza muchos recursos

28
00:03:07,830 --> 00:03:10,590
de nuestra computadora o servidor.

29
00:03:10,590 --> 00:03:17,070
Sin embargo si ya no vamos a utilizar un objeto es conveniente y buena práctica que asignemos el valor

30
00:03:17,070 --> 00:03:22,080
de Nul a la variable que estaba apuntando al objeto creado previamente.

31
00:03:22,080 --> 00:03:28,350
Con esto una vez que inicia el proceso de recolección de basura el objeto creado será candidato a ser

32
00:03:28,350 --> 00:03:35,260
eliminado finalmente podemos darnos cuenta de que las variables creadas en la memoria Stagg son temporales

33
00:03:35,590 --> 00:03:41,950
de menor duración y una vez concluido el método y o programa en el que fueron creadas dichas variables

34
00:03:42,170 --> 00:03:43,840
éstas se destruyen.

35
00:03:43,840 --> 00:03:49,690
Sin embargo las variables creadas en la memoria Agip que son objetos Java tienden a durar más tiempo

36
00:03:49,750 --> 00:03:55,480
en la memoria y se destruyen hasta que se concluye el proceso de la máquina virtual de Java completo

37
00:03:55,810 --> 00:04:02,750
o se ejecuta el proceso de recolección de basura por ello es que es buena práctica que si ya no vamos

38
00:04:02,750 --> 00:04:09,770
a utilizar el objeto eliminemos cualquier referencia de cualquier variable que apunte al objeto asignando

39
00:04:09,800 --> 00:04:19,820
el valor de Nul a dicha variable ejemplo utilizando la palabra Null en Java podemos observar el código

40
00:04:19,820 --> 00:04:23,630
de la lámina en el cual estamos creando un objeto de tipo persona

41
00:04:35,480 --> 00:04:41,410
así que en primera instancia estamos creando la variable 1 y le asignamos el valor de la referencia

42
00:04:41,420 --> 00:04:47,120
donde se ha creado el objeto de tipo personal así que básicamente aquí le estamos asignando el valor

43
00:04:47,330 --> 00:04:54,400
donde se encuentra creado el objeto de tipo Persona posteriormente en la línea 5 mandamos a imprimir

44
00:04:54,490 --> 00:05:01,060
el nombre del objeto persona cuya referencia está almacenada en la variable P1 y podemos observar que

45
00:05:01,060 --> 00:05:09,000
el valor es igual a Juan ya sea porque lo estamos observando cuando se creó el objeto o también gráficamente

46
00:05:09,000 --> 00:05:15,860
podemos observar el valor del objeto en este caso el objeto persona apuntado por la variable P1.

47
00:05:16,680 --> 00:05:20,490
Posteriormente en la línea 7 creamos la variable P2.

48
00:05:20,490 --> 00:05:26,460
Esta variable le asignamos el valor de la variable P1 es decir que ahora también la variable P2 apunta

49
00:05:26,520 --> 00:05:29,450
al mismo objeto creado en la línea 4.

50
00:05:29,490 --> 00:05:35,860
Esto se comprueba en la línea 8 en donde la variable P2 imprime el mismo nombre de la persona asignada

51
00:05:35,910 --> 00:05:41,140
en la variable P1 es decir que en este momento también imprime el valor de Juan.

52
00:05:41,160 --> 00:05:48,000
Posteriormente utilizamos la palabra Null la literal NULL para indicar que la variable P1 no apunta

53
00:05:48,060 --> 00:05:55,950
a ningún objeto y de hecho si quisiéramos ejecutar el método de p 1 punto obtener nombre nos arrojaría

54
00:05:56,010 --> 00:06:03,210
un error ya que esta variable ya no puede acceder a los métodos ni atributos del objeto persona así

55
00:06:03,210 --> 00:06:09,510
que nos arrojaría la excepción de null pointer exception debido a que esta variable no tiene asignada

56
00:06:09,660 --> 00:06:14,340
ninguna referencia en memoria y por lo tanto únicamente contiene el valor de Null.

57
00:06:15,000 --> 00:06:19,670
El tema de manejo de excepciones lo estudiaremos a detalle en cursos posteriores.

58
00:06:19,710 --> 00:06:25,890
Sin embargo es importante entender el uso de Nul y la razón por la cual nos marca este error conocido

59
00:06:25,890 --> 00:06:32,880
como nulo intercepción el cual será uno de los más comunes cuando trabajamos con Java y básicamente

60
00:06:32,880 --> 00:06:39,240
significa que estamos tratando de acceder a un método o atributo de una clase en la cual la variable

61
00:06:39,450 --> 00:06:45,770
aún no se le ha asignado una referencia de un objeto válida y por lo tanto el valor es nulo.

62
00:06:45,780 --> 00:06:52,440
Finalmente en la línea 14 podemos comprobar que la variable P2 continúa accediendo sin problemas al

63
00:06:52,440 --> 00:06:57,640
objeto persona y puede seguir imprimiendo el nombre asignado a este objeto.

64
00:06:58,500 --> 00:07:03,930
Vamos a revisar a continuación un ejercicio para poner en práctica el concepto de la palabra Null en

65
00:07:03,930 --> 00:07:04,290
Java.
