SlideShare una empresa de Scribd logo
1 de 35
Pruebas de Escritorio con Objetos INTEGRANTES: Álvarez González Álvaro Ángel Avilés Mónica  Gómez López Rodolfo Guzmán Zanabria Ana Laura  Pérez Melo Alan  Suazo Reza David
publicclass W { int k; publicstaticvoidmain() {         W n = new W(3, 8.1, "a3");         W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k));     } String p;     W(int a, double m, String h) { System.out.print(m + h);         n = m + 2;         k = a - 5;         p = h + "3";     } double g(int a) { System.out.print(p + a); return a + n * k;     } double n; } PRUEBA DE ESCRITORIO
1 publicclass W { int k; publicstaticvoidmain() {         W n = new W(3, 8.1, "a3");         W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k));     } String p;     W(int a, double m, String h) { System.out.print(m + h);         n = m + 2;         k = a - 5;         p = h + "3";     } double g(int a) { System.out.print(p + a); return a + n * k;     } double n; } Área de Clases W 1 Explicación 1. Se crea la clase Wen el área de clases
1 stack publicclass W { int k; publicstaticvoidmain() {         W n = new W(3, 8.1, "a3");         W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k));     } String p;     W(int a, double m, String h) { System.out.print(m + h);         n = m + 2;         k = a - 5;         p = h + "3";     } double g(int a) { System.out.print(p + a); return a + n * k;     } double n; } Área de Clases 2 W.main 2 W 1 Explicación 1. Se crea la clase Wen el área de clases 2.Se crea el registro de activación de main.
1 stack publicclass W { int k; publicstaticvoidmain() {         W n = new W(3, 8.1, "a3");         W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k));     } String p;     W(int a, double m, String h) { System.out.print(m + h);         n = m + 2;         k = a - 5;         p = h + "3";     } double g(int a) { System.out.print(p + a); return a + n * k;     } double n; } Área de Clases 2  W n  W.main 2 W 1 3 3 Explicación  1. Se crea la clase Wen el área de clases 2.Se crea el registro de activación de main. 3.Se crea la variable de referencia tipo W.
1 stack publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3");         W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k));     } String p;     W(int a, double m, String h) { System.out.print(m + h);         n = m + 2;         k = a - 5;         p = h + "3";     } double g(int a) { System.out.print(p + a); return a + n * k;     } double n; } Área de Clases 2  W n  W.main 2 W 1 3 3 4 Explicación  1. Se crea la clase Wen el área de clases 2.Se crea el registro de activación de main. 3.Se crea la variable de referencia tipo W. 4.Se resuelven las expresiones que se pasan como parámetros al constructor.
Área de Clases 1 Heap publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3");         W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k));     } String p;     W(int a, double m, String h) { System.out.print(m + h);         n = m + 2;         k = a - 5;         p = h + "3";     } double g(int a) { System.out.print(p + a); return a + n * k;     } double n; } W 1 2 122:W 5 3 4 5 stack 2  W n  W.main 3 Explicación 5.La clase  Winicia la construcción , creando un objeto, se le asigna el identificador 122 y se le graba su fabricante, que es W.
Área de Clases 1 Heap publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3");         W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k));     } String p;     W(int a, double m, String h) { System.out.print(m + h);         n = m + 2;         k = a - 5;         p = h + "3";     } double g(int a) { System.out.print(p + a); return a + n * k;     } double n; } W 1 2 122:W 5 3 4 int k: 5 6 0 stack 2  W n  W.main 3 Explicación 5.La clase  Winicia la construcción, creando un objeto, se le asigna el identificador 122 y se le graba su fabricante, que es W. 6.Se añade la variable K al objeto 122 con el valor 0.
Área de Clases 1 Heap publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3");         W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k));     } String p;     W(int a, double m, String h) { System.out.print(m + h);         n = m + 2;         k = a - 5;         p = h + "3";     } double g(int a) { System.out.print(p + a); return a + n * k;     } double n; } W 1 2 122:W 5 3 4 int k: String p: 5 6 0 null 7 stack 7 2  W n  W.main 3 Explicación 5.La clase  Winicia la construcción, creando un objeto, se le asigna el identificador 122 y se le graba su fabricante, que es W. 6.Se añade la variable K al objeto 122 con el valor 0. 7.Se añade la variable p al objeto 122 con el valor null.
Área de Clases 1 Heap publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3");         W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k));     } String p;     W(int a, double m, String h) { System.out.print(m + h);         n = m + 2;         k = a - 5;         p = h + "3";     } double g(int a) { System.out.print(p + a); return a + n * k;     } double n; } W 1 2 122:W 5 3 4 int k: String p: double n: 5 6 0 null 7 stack 8 0.0 7 2  W n  W.main 3 Explicación 8.Se añade la variable n al objeto 122 con el valor 0.0 8
Área de Clases 1 Heap publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3");         W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k));     } String p;     W(int a, double m, String h) { System.out.print(m + h);         n = m + 2;         k = a - 5;         p = h + "3";     } double g(int a) { System.out.print(p + a); return a + n * k;     } double n; } W 1 2 122:W 5 3 4 int k: String p: double n: 6 0 5 9 null 7 stack 8 0.0 7 2  W n    W.main 3 salí 9 Explicación 8.Se añade la variable n al objeto 122 con el valor 0.0 9.Se invoca el constructor. Expresiones 8 W(3, 8.1, "a3"); 9
Área de Clases 1 Heap publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3");         W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k));     } String p;     W(int a, double m, String h) { System.out.print(m + h);         n = m + 2;         k = a - 5;         p = h + "3";     } double g(int a) { System.out.print(p + a); return a + n * k;     } double n; } W 1 2 122:W 5 3 4 int k: String p: double n: 6 0 5 9 null 7 stack 8 0.0 7 2  W n    W.main 3 10 salí 9 10 W  int a: 3 10 String h: “a3” 10 double m: 10 8.1 Expresiones 8 W(3, 8.1, "a3"); 9  W(int a, double m, String h)  10 Explicación 10.Se crea el registro de activación del constructor  y se realiza el paso de parámetros.
Heap Área de Clases 1 122:W 5 publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3");         W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k));     } String p;     W(int a, double m, String h) { System.out.print(m + h);         n = m + 2;         k = a - 5;         p = h + "3";     } double g(int a) { System.out.print(p + a); return a + n * k;     } double n; } W 1 int k: String p: double n: 6 0 2 7 null 3 4 8 0.0 5 9 stack salida 2  W n    W.main 7 8.1 a3 11 3 salí 9 10 11 10 w int a: 10 3 String h: 10 “a3” Expresiones double m: 10 8.1 W(3, 8.1, "a3"); 9  W(int a, double m, String h)  10 8  +  = 11 8.1 “a3” 8.1 a3 Explicación 11.Se realiza la expresión y se  muestra (m + h)
Heap Área de Clases 122:W 1 5 publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3");         W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k));     } String p;     W(int a, double m, String h) { System.out.print(m + h);         n = m + 2;         k = a - 5;         p = h + "3";     } double g(int a) { System.out.print(p + a); return a + n * k;     } double n; } W 1 int k: String p: double n: 6 0 2 null 7 3 4 0.0 10.1 8 stack 5 9 12 2  W n    W.main salida 3 7 8.1 a3 11 salí 9 10 10 w 11 int a: 3 10 12 Expresiones String h: “a3” 10 double m: W(3, 8.1, "a3"); 8.1 10 9  W(int a, double m, String h)  10  +  = 11 8.1 “a3” 8.1 a3 8  +  = 8.1 2 10.1 12 Explicación 12.Se cambia el valor de n, asignándole m+2. La variable mse localiza en el stack.
Heap Área de Clases 1 122:W 5 publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3");         W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k));     } String p;     W(int a, double m, String h) { System.out.print(m + h);         n = m + 2;         k = a - 5;         p = h + "3";     } double g(int a) { System.out.print(p + a); return a + n * k;     } double n; } W 1 13 6 int k: String p: double n: 0 -2 2 7 null 3 4 8 0.0 10.1 stack 5 9 12 2  W n    W.main salida 3 7 8.1 a3 11 salí 9 10 10 w 11 int a: 3 10 12 Expresiones String h: “a3” 10 13 double m: W(3, 8.1, "a3"); 8.1 10 9  W(int a, double m, String h)  10  +  = 11 8.1 “a3” 8.1 a3 8  +  = 8.1 2 10.1 12  -  = 13 3 5 -2 Explicación 13.Se cambia el valor de k, asignándole a-5.  La variable a se localiza en el stack.
Heap Área de Clases 1 122:W 5 publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3");         W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k));     } String p;     W(int a, double m, String h) { System.out.print(m + h);         n = m + 2;         k = a - 5;         p = h + "3";     } double g(int a) { System.out.print(p + a); return a + n * k;     } double n; } W 1 13 6 int k: String p: double n: 0 -2 2 7 null a33 3 4 14 8 0.0 10.1 stack 5 9 12 2  W n    W.main salida 3 7 8.1 a3 11 salí 9 10 10 w 11 int a: 3 10 12 Expresiones String h: “a3” 10 13 double m: W(3, 8.1, "a3"); 8.1 10 9 14  W(int a, double m, String h)  10  +  = 11 8.1 “a3” 8.1 a3 8  +  = 8.1 2 10.1 12  -  = 13 3 5 -2  +  = 14 “a3” “3” a33 Explicación 14.Se cambia el valor de p, asignándole h+”3”.  La variable h se localiza en el stack.
Heap Área de Clases 1 122:W 5 publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3");         W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k));     } String p;     W(int a, double m, String h) { System.out.print(m + h);         n = m + 2;         k = a - 5;         p = h + "3";     } double g(int a) { System.out.print(p + a); return a + n * k;     } double n; } W 1 13 6 int k: String p: double n: 0 -2 2 7 null a33 3 4 14 8 0.0 10.1 stack 5 9 12 2  W n    W.main salida 3 7 8.1 a3 11 salí regreso 9 15 10 10 w 11 int a: 3 10 12 Expresiones String h: 15 “a3” 10 13 double m: W(3, 8.1, "a3"); 8.1 10 9 14 15  W(int a, double m, String h)  10  +  = 11 8.1 “a3” 8.1 a3 8  +  = 8.1 2 10.1 12  -  = 13 3 5 -2 Explicación  +  = 14 “a3” “3” a33 15.-Se termina la ejecución del constructor, se elimina su registro de activación y se regresa el al registro de activación de main
Área de Clases 1 publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3");         W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k));     } String p;     W(int a, double m, String h) { System.out.print(m + h);         n = m + 2;         k = a - 5;         p = h + "3";     } double g(int a) { System.out.print(p + a); return a + n * k;     } double n; } 1 W 2 3 4 stack 5 9 16 2  W n    W.main 3 7 9 salí regreso 15 W x 16 10 11 12 13 Explicación 14 15 16.Se crea la variable de referencia tipo W.  8
Área de Clases 1 publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k));     } String p;     W(int a, double m, String h) { System.out.print(m + h);         n = m + 2;         k = a - 5;         p = h + "3";     } double g(int a) { System.out.print(p + a); return a + n * k;     } double n; } 1 W 2 3 4 stack 5 9 16 17 2  W n    W.main 3 7 9 salí regreso 15 W x 16 10 11 12 13 Explicación 14 15 16.Se crea la variable de referencia tipo W.  17.Se resuelven las expresiones que se pasan como parámetros al constructor. 8
Área de Clases Heap 1 publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k));     } String p;     W(int a, double m, String h) { System.out.print(m + h);         n = m + 2;         k = a - 5;         p = h + "3";     } double g(int a) { System.out.print(p + a); return a + n * k;     } double n; } 1 150:W W 18 2 3 4 stack 5 9 16 17 2  W n    W.main 18 3 7 9 salí regreso 15 W x 16 10 11 12 13 Explicación 14 15 16.Se crea la variable de referencia tipo W.  17.Se resuelven las expresiones que se pasan como parámetros al constructor. 8 18.La clase  W inicia la construcción , creando un objeto, se le asigna el identificador 150 y se le graba su fabricante, que es W.
Área de Clases Heap 1 publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k));     } String p;     W(int a, double m, String h) { System.out.print(m + h);         n = m + 2;         k = a - 5;         p = h + "3";     } double g(int a) { System.out.print(p + a); return a + n * k;     } double n; } 1 150:W W 18 int k: 2 19 0 String p: 20 null 3 4 stack 5 9 double n: 0.0 21 16 17 2  W n    W.main 18 3 7 9 salí regreso 15 W x 16 10 11 12 13 Explicación 14 15 19.Se añade la variable K al objeto 150 con el valor 0. 20.Se añade la variable p al objeto 150 con el valor null.  8 21.Se añade la variable n al objeto 150 con el valor 0.0
Área de Clases Heap 1 publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k));     } String p;     W(int a, double m, String h) { System.out.print(m + h);         n = m + 2;         k = a - 5;         p = h + "3";     } double g(int a) { System.out.print(p + a); return a + n * k;     } double n; } 1 150:W W 18 int k: 2 19 0 String p: 20 null 3 4 stack 5 9 double n: 0.0 21 16 17 2  W n    W.main 22 18 3 7 9 salí regreso 15 W x 16 Expresiones  10 salí 22 11 W(2, 20.0, “9"); 22 12 13 14 15 Explicación 22.Se invoca el constructor 8
Área de Clases Heap 1 publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k));     } String p;     W(int a, double m, String h) { System.out.print(m + h);         n = m + 2;         k = a - 5;         p = h + "3";     } double g(int a) { System.out.print(p + a); return a + n * k;     } double n; } 1 150:W W 18 int k: 2 19 0 String p: 20 null 3 4 stack 5 9 double n: 0.0 21 16 17 2  W n    W.main 22 18 3 7 9 salí regreso 15 W x 16 Expresiones  10 salí 23 22 11 W(2, 20.0, “9"); 22 12 23 W  13 int a:  W(int a, double m, String h)  2 23 23 14 String h: “9” 23 15 double m: 20.0 23 Explicación 8 22.Se invoca el constructor 23.Se crea el registro de activación del constructor y se realiza el paso de parámetros
Área de Clases Heap 1 publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k));     } String p;     W(int a, double m, String h) { System.out.print(m + h);         n = m + 2;         k = a - 5;         p = h + "3";     } double g(int a) { System.out.print(p + a); return a + n * k;     } double n; } 1 150:W W 18 int k: 2 19 0 String p: 20 null 3 4 stack 5 9 double n: 0.0 21 16 17 2  W n    W.main 22 18 3 7 9 salí regreso 15 W x 16 Expresiones  10 salí 23 22 11 W(2, 20.0, “9"); 22 12 23 W  13 int a:  W(int a, double m, String h)  2 23 23 14 String h: “9” 23 20.0 +”9”=20.09 24 15 double m: 20.0 23 Salida  Explicación 8 24 24.Se realiza la expresión y se  muestra (m + h) 8.1 a3 11 20.09
Área de Clases Heap 1 publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k));     } String p;     W(int a, double m, String h) { System.out.print(m + h);         n = m + 2;         k = a - 5;         p = h + "3";     } double g(int a) { System.out.print(p + a); return a + n * k;     } double n; } 1 150:W W 18 int k: 2 19 0 String p: 20 null 3 4 stack 5 9 double n: 0.0 21 22.0 16 17 25 2  W n    W.main 22 18 3 7 9 salí regreso 15 W x 16 Expresiones  10 salí 23 22 11 W(2, 20.0, “9"); 22 12 25 23 W  13 int a:  W(int a, double m, String h)  2 23 23 14 String h: “9” 23 20.0 +”9”=20.09 24 15 double m: 20.0 23 25 n=20.0+2=22.0 Salida  8 24 8.1 a3 11 20.09 Explicación 25.Se cambia el valor de n, asignándole m+2. La variable m se localiza en el stack.
Área de Clases Heap 1 publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k));     } String p;     W(int a, double m, String h) { System.out.print(m + h);         n = m + 2;         k = a - 5;         p = h + "3";     } double g(int a) { System.out.print(p + a); return a + n * k;     } double n; } 1 150:W W 18 26 int k: 2 19 0 -3 String p: 20 null 3 4 stack 5 9 double n: 0.0 21 22.0 16 17 25 2  W n    W.main 22 18 3 7 9 salí regreso 15 W x 16 Expresiones  10 salí 23 22 11 W(2, 20.0, “9"); 22 12 25 23 W  13 int a:  W(int a, double m, String h)  26 2 23 23 14 String h: “9” 23 20.0 +”9”=20.09 24 15 double m: 20.0 23 25 n=20.0+2=22.0 K=2-5=-3 26 Salida  8 24 8.1 a3 11 20.09 Explicación 26.Se cambia el valor de k, asignándole a-5.  La variable a se localiza en el stack.
Área de Clases Heap 1 publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k));     } String p;     W(int a, double m, String h) { System.out.print(m + h);         n = m + 2;         k = a - 5;         p = h + "3";     } double g(int a) { System.out.print(p + a); return a + n * k;     } double n; } 1 150:W W 18 26 int k: 2 19 0 -3 27 String p: 20 null “93” 3 4 stack 5 9 double n: 0.0 21 22.0 16 17 25 2  W n    W.main 22 18 3 7 9 salí regreso 15 W x 16 Expresiones  10 salí 23 22 11 W(2, 20.0, “9"); 22 12 25 23 W  13 int a:  W(int a, double m, String h)  2 23 23 14 String h: “9” 23 20.0 +”9”=20.09 24 15 double m: 20.0 23 25 n=20.0+2=22.0 K=2-5=-3 26 Salida  “9”+”3”=“93” 8 24 27 8.1 a3 11 20.09 Explicación 27.Se cambia el valor de p, asignándole h+”3”.  La variable h se localiza en el stack.
Área de Clases Heap 1 publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k));     } String p;     W(int a, double m, String h) { System.out.print(m + h);         n = m + 2;         k = a - 5;         p = h + "3";     } double g(int a) { System.out.print(p + a); return a + n * k;     } double n; } 1 150:W W 18 26 int k: 2 19 0 -3 27 String p: 20 null “93” 3 4 stack 5 9 double n: 0.0 21 22.0 16 17 25 2  W n    W.main 22 18 3 7 9 salí regreso 15 W x 16 Expresiones  10 salí 23 regreso 22 28 11 W(2, 20.0, “9"); 22 12 25 23 W  13 int a:  W(int a, double m, String h)  2 23 23 14 String h: “9” 23 28 20.0 +”9”=20.09 24 15 28 double m: 20.0 23 25 n=20.0+2=22.0 K=2-5=-3 26 Salida  “9”+”3”=“93” 8 24 27 8.1 a3 11 20.09 Explicación 28.Se termina la ejecución del constructor, se elimina su registro de activación y se regresa el valor de this, que es 150. Se regresa al registro de activación de main.
Área de Clases Heap 1 publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k));     } String p;     W(int a, double m, String h) { System.out.print(m + h);         n = m + 2;         k = a - 5;         p = h + "3";     } doubleg(int a) { System.out.print(p + a); return a + n * k;     } double n; } 1 150:W W 18 26 int k: 2 19 0 -3 27 String p: 20 null “93” 3 4 stack 5 9 double n: 0.0 21 22.0 16 17 25 2  W n    W.main 22 18 3 7 29 9 salí regreso 15 W x 10 16 23 11 salí regreso 22 28 12 25 x.g 13 salí 14 29 15 28 8 Explicación 29.Se invoca el método x.g
Área de Clases Heap 1 publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k));     } String p;     W(int a, double m, String h) { System.out.print(m + h);         n = m + 2;         k = a - 5;         p = h + "3";     } doubleg(int a) { System.out.print(p + a); return a + n * k;     } double n; } 1 150:W W 18 26 int k: 2 19 0 -3 27 String p: 20 null “93” 3 4 stack 5 9 double n: 0.0 21 22.0 16 17 25 2  W n    W.main 22 18 7 29 3 9 salí regreso 15 10 W x 16 23 11 salí regreso 22 28 12 25 x.g 13 30 int a: -2 salí 14 29 15 28 30 x.g 30 8 Explicación 30.Se crea el registro de activación de x.g y se realiza el paso de parámetro
Área de Clases Heap 1 publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k));     } String p;     W(int a, double m, String h) { System.out.print(m + h);         n = m + 2;         k = a - 5;         p = h + "3";     } doubleg(int a) { System.out.print(p + a); return a + n * k;     } double n; } 1 150:W W 18 26 int k: 2 19 0 -3 27 String p: 20 null “93” 3 4 5 9 stack double n: 0.0 21 22.0 16 17 25 W.main 2  W n    22 18 7 3 29 9 salí regreso 15 W x 10 16 regreso salí 23 22 28 11 12 25 30 13 x.g 30 int a: -2 14 salí 29 15 28 Expresiones  30 x.g “93”+-2=93-2 31 8 Explicación 31.Se realiza la expresión (p + a);
Área de Clases Heap 1 publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k));     } String p;     W(int a, double m, String h) { System.out.print(m + h);         n = m + 2;         k = a - 5;         p = h + "3";     } doubleg(int a) { System.out.print(p + a); return a + n * k;     } double n; } 1 150:W W 18 26 int k: 2 19 0 -3 27 String p: 20 null “93” 3 4 5 9 stack double n: 0.0 21 22.0 16 17 25 2  W n    W.main 22 18 7 3 29 9 salí regreso 15 W x 10 16 23 salí regreso 11 22 28 x.g 12 25 x.g salí 13 29 int a: -2 14 30 15 28 Expresiones  30 30 32 “93”+-2=93-2 Salida   31 8 93-2 32 Explicación 32. Se muestra el resultado de la expresión p + a
Área de Clases Heap 1 publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k));     } String p;     W(int a, double m, String h) { System.out.print(m + h);         n = m + 2;         k = a - 5;         p = h + "3";     } doubleg(int a) { System.out.print(p + a); return a + n * k;     } double n; } 1 150:W W 18 26 int k: 2 19 0 -3 27 String p: 20 null “93” 3 4 5 9 stack double n: 0.0 21 22.0 16 17 25 2  W n    W.main 22 18 7 3 29 9 salí regreso 15 W x 10 16 23 salí regreso 11 22 28 x.g 12 25 -2+22.0+-3=-68 33 salí 13 29 14 15 28 Expresiones  30 x.g 30 32 30 int a: -2 “93”+-2=93-2 Salida   33 31 8 93-2 32 Explicación 33. Se evalúa la expresión  a + n * k
Área de Clases Heap 1 publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k));     } String p;     W(int a, double m, String h) { System.out.print(m + h);         n = m + 2;         k = a - 5;         p = h + "3";     } doubleg(int a) { System.out.print(p + a); return a + n * k;     } double n; } 1 150:W W 18 26 int k: 2 19 0 -3 27 String p: 20 null “93” 3 4 5 9 stack double n: 0.0 21 22.0 16 17 25 2  W n    W.main 22 18 7 3 29 9 salí regreso 15 W x 10 16 23 salí regreso 11 22 28 x.g 12 25 -2+22.0+-3=-68 33 Regreso Con -68 salí 34 13 29 14 15 28 Expresiones  x.g 30 30 32 30 int a: -2 “93”+-2=93-2 34 Salida   33 31 34 8 34 93-2 32 Explicación 34. Se devuelve el valor obtenido en el punto anterior y se destruye el registro de activación de “x.g”.
Área de Clases Heap 1 publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k));     } String p;     W(int a, double m, String h) { System.out.print(m + h);         n = m + 2;         k = a - 5;         p = h + "3";     } doubleg(int a) { System.out.print(p + a); return a + n * k;     } double n; } 1 150:W W 18 26 int k: 2 19 0 -3 27 String p: 20 null “93” 3 4 5 9 stack double n: 0.0 21 22.0 16 17 25 2  W n    W.main 22 18 7 3 29 35 9 salí regreso 15 35 W x 10 16 23 salí regreso 11 22 28 x.g 12 25 -2+22.0+-3=-68 33 Regreso Con -68 salí 34 13 29 14 15 28 Expresiones  x.g 30 30 32 30 int a: -2 “93”+-2=93-2 34 Salida   33 31 34 8 34 93-2 32 35 Explicación 35.Termina el método “main”. Se elimina el registro de activación y finaliza la ejecución del programa.

Más contenido relacionado

La actualidad más candente

La actualidad más candente (17)

Problemas resueltos de funciones reales pre u ccesa007
Problemas resueltos de funciones reales  pre u  ccesa007Problemas resueltos de funciones reales  pre u  ccesa007
Problemas resueltos de funciones reales pre u ccesa007
 
Hechos en clase
Hechos en claseHechos en clase
Hechos en clase
 
Integrales indefinidas mat apli
Integrales indefinidas mat apliIntegrales indefinidas mat apli
Integrales indefinidas mat apli
 
Ejercicios java
Ejercicios javaEjercicios java
Ejercicios java
 
Bucles y switch
Bucles y switchBucles y switch
Bucles y switch
 
Ejercicios en java
Ejercicios en javaEjercicios en java
Ejercicios en java
 
Biblioteca java.util por gio
Biblioteca java.util por gioBiblioteca java.util por gio
Biblioteca java.util por gio
 
Renderización en java
Renderización en javaRenderización en java
Renderización en java
 
1. INTEGRAL INDEFINIDA.pdf
1. INTEGRAL INDEFINIDA.pdf1. INTEGRAL INDEFINIDA.pdf
1. INTEGRAL INDEFINIDA.pdf
 
Integraccion por partes y por fracciones parciales (2)
Integraccion por partes y por fracciones parciales (2)Integraccion por partes y por fracciones parciales (2)
Integraccion por partes y por fracciones parciales (2)
 
Ejercicios en Netbeans
Ejercicios en NetbeansEjercicios en Netbeans
Ejercicios en Netbeans
 
07 Integrales indefinidas
07 Integrales indefinidas07 Integrales indefinidas
07 Integrales indefinidas
 
Omarevelioospinaarteaga.1992 parte6(1)
Omarevelioospinaarteaga.1992 parte6(1)Omarevelioospinaarteaga.1992 parte6(1)
Omarevelioospinaarteaga.1992 parte6(1)
 
Tipos de datos en R
Tipos de datos en RTipos de datos en R
Tipos de datos en R
 
Pilas y colas java
Pilas y colas javaPilas y colas java
Pilas y colas java
 
Resta de funciones.mejorado
Resta de funciones.mejoradoResta de funciones.mejorado
Resta de funciones.mejorado
 
4 ejemplos en c#
4 ejemplos en c#4 ejemplos en c#
4 ejemplos en c#
 

Destacado

Edtech 512 - Project Plan
Edtech 512 - Project PlanEdtech 512 - Project Plan
Edtech 512 - Project Planbradfordpatton
 
Bravo enterprises - Executive Overview
Bravo enterprises - Executive OverviewBravo enterprises - Executive Overview
Bravo enterprises - Executive OverviewMichael Graziano
 
Multi-resolution Data Communication in Wireless Sensor Networks
Multi-resolution Data Communication in Wireless Sensor NetworksMulti-resolution Data Communication in Wireless Sensor Networks
Multi-resolution Data Communication in Wireless Sensor NetworksPayamBarnaghi
 
More Opening Shots (Ex. 3)
More Opening Shots (Ex. 3)More Opening Shots (Ex. 3)
More Opening Shots (Ex. 3)Justine Allen
 
Fancy Pants Part one
Fancy Pants Part oneFancy Pants Part one
Fancy Pants Part oneJustine Allen
 

Destacado (9)

Edtech 512 - Project Plan
Edtech 512 - Project PlanEdtech 512 - Project Plan
Edtech 512 - Project Plan
 
Diseño y pruebas de unidad
Diseño y pruebas de unidadDiseño y pruebas de unidad
Diseño y pruebas de unidad
 
Bravo enterprises - Executive Overview
Bravo enterprises - Executive OverviewBravo enterprises - Executive Overview
Bravo enterprises - Executive Overview
 
Expo long
Expo longExpo long
Expo long
 
Multi-resolution Data Communication in Wireless Sensor Networks
Multi-resolution Data Communication in Wireless Sensor NetworksMulti-resolution Data Communication in Wireless Sensor Networks
Multi-resolution Data Communication in Wireless Sensor Networks
 
More Opening Shots (Ex. 3)
More Opening Shots (Ex. 3)More Opening Shots (Ex. 3)
More Opening Shots (Ex. 3)
 
Fancy Pants Part one
Fancy Pants Part oneFancy Pants Part one
Fancy Pants Part one
 
Macro
MacroMacro
Macro
 
Diseño y pruebas de unidad
Diseño y pruebas de unidadDiseño y pruebas de unidad
Diseño y pruebas de unidad
 

Similar a Objetos

Resolución de problemas con java
Resolución de problemas con javaResolución de problemas con java
Resolución de problemas con javadiegocastro1234
 
Java problems
Java problemsJava problems
Java problemsNoe Lopez
 
Problemasjava2
Problemasjava2Problemasjava2
Problemasjava2Aldahir IS
 
Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402Gustavo Macias
 
Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402Gustavo Macias
 
Manual de prácticas java 2015
Manual de prácticas java 2015Manual de prácticas java 2015
Manual de prácticas java 2015Ulises_312
 
U5. Arreglos de Objetos.pdf
U5. Arreglos de Objetos.pdfU5. Arreglos de Objetos.pdf
U5. Arreglos de Objetos.pdfTareasEMI
 
Ejercicios
EjerciciosEjercicios
EjerciciosEzmee XD
 
6 Upv Solo Pruebas 2009
6 Upv Solo Pruebas 20096 Upv Solo Pruebas 2009
6 Upv Solo Pruebas 2009Pepe
 
Manual de power_builder
Manual de power_builderManual de power_builder
Manual de power_builderNicolas Ortiz
 
Taller de repaso de metodos y arreglos
Taller de repaso de metodos y arreglosTaller de repaso de metodos y arreglos
Taller de repaso de metodos y arreglosDiroplan
 

Similar a Objetos (20)

Cecytem
CecytemCecytem
Cecytem
 
Practica 1
Practica 1Practica 1
Practica 1
 
Resolución de problemas con java
Resolución de problemas con javaResolución de problemas con java
Resolución de problemas con java
 
Java problems
Java problemsJava problems
Java problems
 
Problemasjava2
Problemasjava2Problemasjava2
Problemasjava2
 
Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402
 
Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402
 
Manual de prácticas java 2015
Manual de prácticas java 2015Manual de prácticas java 2015
Manual de prácticas java 2015
 
U5. Arreglos de Objetos.pdf
U5. Arreglos de Objetos.pdfU5. Arreglos de Objetos.pdf
U5. Arreglos de Objetos.pdf
 
Java
JavaJava
Java
 
UNIDAD III - ACTIVIDAD VI
UNIDAD III - ACTIVIDAD VIUNIDAD III - ACTIVIDAD VI
UNIDAD III - ACTIVIDAD VI
 
Ejemplos java
Ejemplos javaEjemplos java
Ejemplos java
 
20 programas
20 programas20 programas
20 programas
 
colasEjeRe_1_2022.pdf
colasEjeRe_1_2022.pdfcolasEjeRe_1_2022.pdf
colasEjeRe_1_2022.pdf
 
Ejercicios
EjerciciosEjercicios
Ejercicios
 
6 Upv Solo Pruebas 2009
6 Upv Solo Pruebas 20096 Upv Solo Pruebas 2009
6 Upv Solo Pruebas 2009
 
Manual de power_builder
Manual de power_builderManual de power_builder
Manual de power_builder
 
Desarrollo De Programas Ejemplos 01
Desarrollo De Programas Ejemplos 01Desarrollo De Programas Ejemplos 01
Desarrollo De Programas Ejemplos 01
 
Desarrollo de programas_ejemplos_01
Desarrollo de programas_ejemplos_01Desarrollo de programas_ejemplos_01
Desarrollo de programas_ejemplos_01
 
Taller de repaso de metodos y arreglos
Taller de repaso de metodos y arreglosTaller de repaso de metodos y arreglos
Taller de repaso de metodos y arreglos
 

Más de Rodolfo Gómez López (7)

Proyect gil(1)weno
Proyect gil(1)wenoProyect gil(1)weno
Proyect gil(1)weno
 
Expo gil 911
Expo gil 911Expo gil 911
Expo gil 911
 
Pruebas de unidad
Pruebas de unidadPruebas de unidad
Pruebas de unidad
 
Prueba expogil
Prueba expogilPrueba expogil
Prueba expogil
 
Prueba de escritorio
Prueba de escritorioPrueba de escritorio
Prueba de escritorio
 
Prueba de escritorio Métodos
Prueba de escritorio MétodosPrueba de escritorio Métodos
Prueba de escritorio Métodos
 
Expo métodos
Expo métodosExpo métodos
Expo métodos
 

Objetos

  • 1. Pruebas de Escritorio con Objetos INTEGRANTES: Álvarez González Álvaro Ángel Avilés Mónica Gómez López Rodolfo Guzmán Zanabria Ana Laura Pérez Melo Alan Suazo Reza David
  • 2. publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k)); } String p; W(int a, double m, String h) { System.out.print(m + h); n = m + 2; k = a - 5; p = h + "3"; } double g(int a) { System.out.print(p + a); return a + n * k; } double n; } PRUEBA DE ESCRITORIO
  • 3. 1 publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k)); } String p; W(int a, double m, String h) { System.out.print(m + h); n = m + 2; k = a - 5; p = h + "3"; } double g(int a) { System.out.print(p + a); return a + n * k; } double n; } Área de Clases W 1 Explicación 1. Se crea la clase Wen el área de clases
  • 4. 1 stack publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k)); } String p; W(int a, double m, String h) { System.out.print(m + h); n = m + 2; k = a - 5; p = h + "3"; } double g(int a) { System.out.print(p + a); return a + n * k; } double n; } Área de Clases 2 W.main 2 W 1 Explicación 1. Se crea la clase Wen el área de clases 2.Se crea el registro de activación de main.
  • 5. 1 stack publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k)); } String p; W(int a, double m, String h) { System.out.print(m + h); n = m + 2; k = a - 5; p = h + "3"; } double g(int a) { System.out.print(p + a); return a + n * k; } double n; } Área de Clases 2 W n W.main 2 W 1 3 3 Explicación 1. Se crea la clase Wen el área de clases 2.Se crea el registro de activación de main. 3.Se crea la variable de referencia tipo W.
  • 6. 1 stack publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k)); } String p; W(int a, double m, String h) { System.out.print(m + h); n = m + 2; k = a - 5; p = h + "3"; } double g(int a) { System.out.print(p + a); return a + n * k; } double n; } Área de Clases 2 W n W.main 2 W 1 3 3 4 Explicación 1. Se crea la clase Wen el área de clases 2.Se crea el registro de activación de main. 3.Se crea la variable de referencia tipo W. 4.Se resuelven las expresiones que se pasan como parámetros al constructor.
  • 7. Área de Clases 1 Heap publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k)); } String p; W(int a, double m, String h) { System.out.print(m + h); n = m + 2; k = a - 5; p = h + "3"; } double g(int a) { System.out.print(p + a); return a + n * k; } double n; } W 1 2 122:W 5 3 4 5 stack 2 W n W.main 3 Explicación 5.La clase Winicia la construcción , creando un objeto, se le asigna el identificador 122 y se le graba su fabricante, que es W.
  • 8. Área de Clases 1 Heap publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k)); } String p; W(int a, double m, String h) { System.out.print(m + h); n = m + 2; k = a - 5; p = h + "3"; } double g(int a) { System.out.print(p + a); return a + n * k; } double n; } W 1 2 122:W 5 3 4 int k: 5 6 0 stack 2 W n W.main 3 Explicación 5.La clase Winicia la construcción, creando un objeto, se le asigna el identificador 122 y se le graba su fabricante, que es W. 6.Se añade la variable K al objeto 122 con el valor 0.
  • 9. Área de Clases 1 Heap publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k)); } String p; W(int a, double m, String h) { System.out.print(m + h); n = m + 2; k = a - 5; p = h + "3"; } double g(int a) { System.out.print(p + a); return a + n * k; } double n; } W 1 2 122:W 5 3 4 int k: String p: 5 6 0 null 7 stack 7 2 W n W.main 3 Explicación 5.La clase Winicia la construcción, creando un objeto, se le asigna el identificador 122 y se le graba su fabricante, que es W. 6.Se añade la variable K al objeto 122 con el valor 0. 7.Se añade la variable p al objeto 122 con el valor null.
  • 10. Área de Clases 1 Heap publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k)); } String p; W(int a, double m, String h) { System.out.print(m + h); n = m + 2; k = a - 5; p = h + "3"; } double g(int a) { System.out.print(p + a); return a + n * k; } double n; } W 1 2 122:W 5 3 4 int k: String p: double n: 5 6 0 null 7 stack 8 0.0 7 2 W n W.main 3 Explicación 8.Se añade la variable n al objeto 122 con el valor 0.0 8
  • 11. Área de Clases 1 Heap publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k)); } String p; W(int a, double m, String h) { System.out.print(m + h); n = m + 2; k = a - 5; p = h + "3"; } double g(int a) { System.out.print(p + a); return a + n * k; } double n; } W 1 2 122:W 5 3 4 int k: String p: double n: 6 0 5 9 null 7 stack 8 0.0 7 2 W n W.main 3 salí 9 Explicación 8.Se añade la variable n al objeto 122 con el valor 0.0 9.Se invoca el constructor. Expresiones 8 W(3, 8.1, "a3"); 9
  • 12. Área de Clases 1 Heap publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k)); } String p; W(int a, double m, String h) { System.out.print(m + h); n = m + 2; k = a - 5; p = h + "3"; } double g(int a) { System.out.print(p + a); return a + n * k; } double n; } W 1 2 122:W 5 3 4 int k: String p: double n: 6 0 5 9 null 7 stack 8 0.0 7 2 W n W.main 3 10 salí 9 10 W int a: 3 10 String h: “a3” 10 double m: 10 8.1 Expresiones 8 W(3, 8.1, "a3"); 9 W(int a, double m, String h) 10 Explicación 10.Se crea el registro de activación del constructor y se realiza el paso de parámetros.
  • 13. Heap Área de Clases 1 122:W 5 publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k)); } String p; W(int a, double m, String h) { System.out.print(m + h); n = m + 2; k = a - 5; p = h + "3"; } double g(int a) { System.out.print(p + a); return a + n * k; } double n; } W 1 int k: String p: double n: 6 0 2 7 null 3 4 8 0.0 5 9 stack salida 2 W n W.main 7 8.1 a3 11 3 salí 9 10 11 10 w int a: 10 3 String h: 10 “a3” Expresiones double m: 10 8.1 W(3, 8.1, "a3"); 9 W(int a, double m, String h) 10 8 + = 11 8.1 “a3” 8.1 a3 Explicación 11.Se realiza la expresión y se muestra (m + h)
  • 14. Heap Área de Clases 122:W 1 5 publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k)); } String p; W(int a, double m, String h) { System.out.print(m + h); n = m + 2; k = a - 5; p = h + "3"; } double g(int a) { System.out.print(p + a); return a + n * k; } double n; } W 1 int k: String p: double n: 6 0 2 null 7 3 4 0.0 10.1 8 stack 5 9 12 2 W n W.main salida 3 7 8.1 a3 11 salí 9 10 10 w 11 int a: 3 10 12 Expresiones String h: “a3” 10 double m: W(3, 8.1, "a3"); 8.1 10 9 W(int a, double m, String h) 10 + = 11 8.1 “a3” 8.1 a3 8 + = 8.1 2 10.1 12 Explicación 12.Se cambia el valor de n, asignándole m+2. La variable mse localiza en el stack.
  • 15. Heap Área de Clases 1 122:W 5 publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k)); } String p; W(int a, double m, String h) { System.out.print(m + h); n = m + 2; k = a - 5; p = h + "3"; } double g(int a) { System.out.print(p + a); return a + n * k; } double n; } W 1 13 6 int k: String p: double n: 0 -2 2 7 null 3 4 8 0.0 10.1 stack 5 9 12 2 W n W.main salida 3 7 8.1 a3 11 salí 9 10 10 w 11 int a: 3 10 12 Expresiones String h: “a3” 10 13 double m: W(3, 8.1, "a3"); 8.1 10 9 W(int a, double m, String h) 10 + = 11 8.1 “a3” 8.1 a3 8 + = 8.1 2 10.1 12 - = 13 3 5 -2 Explicación 13.Se cambia el valor de k, asignándole a-5. La variable a se localiza en el stack.
  • 16. Heap Área de Clases 1 122:W 5 publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k)); } String p; W(int a, double m, String h) { System.out.print(m + h); n = m + 2; k = a - 5; p = h + "3"; } double g(int a) { System.out.print(p + a); return a + n * k; } double n; } W 1 13 6 int k: String p: double n: 0 -2 2 7 null a33 3 4 14 8 0.0 10.1 stack 5 9 12 2 W n W.main salida 3 7 8.1 a3 11 salí 9 10 10 w 11 int a: 3 10 12 Expresiones String h: “a3” 10 13 double m: W(3, 8.1, "a3"); 8.1 10 9 14 W(int a, double m, String h) 10 + = 11 8.1 “a3” 8.1 a3 8 + = 8.1 2 10.1 12 - = 13 3 5 -2 + = 14 “a3” “3” a33 Explicación 14.Se cambia el valor de p, asignándole h+”3”. La variable h se localiza en el stack.
  • 17. Heap Área de Clases 1 122:W 5 publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k)); } String p; W(int a, double m, String h) { System.out.print(m + h); n = m + 2; k = a - 5; p = h + "3"; } double g(int a) { System.out.print(p + a); return a + n * k; } double n; } W 1 13 6 int k: String p: double n: 0 -2 2 7 null a33 3 4 14 8 0.0 10.1 stack 5 9 12 2 W n W.main salida 3 7 8.1 a3 11 salí regreso 9 15 10 10 w 11 int a: 3 10 12 Expresiones String h: 15 “a3” 10 13 double m: W(3, 8.1, "a3"); 8.1 10 9 14 15 W(int a, double m, String h) 10 + = 11 8.1 “a3” 8.1 a3 8 + = 8.1 2 10.1 12 - = 13 3 5 -2 Explicación + = 14 “a3” “3” a33 15.-Se termina la ejecución del constructor, se elimina su registro de activación y se regresa el al registro de activación de main
  • 18. Área de Clases 1 publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k)); } String p; W(int a, double m, String h) { System.out.print(m + h); n = m + 2; k = a - 5; p = h + "3"; } double g(int a) { System.out.print(p + a); return a + n * k; } double n; } 1 W 2 3 4 stack 5 9 16 2 W n W.main 3 7 9 salí regreso 15 W x 16 10 11 12 13 Explicación 14 15 16.Se crea la variable de referencia tipo W. 8
  • 19. Área de Clases 1 publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k)); } String p; W(int a, double m, String h) { System.out.print(m + h); n = m + 2; k = a - 5; p = h + "3"; } double g(int a) { System.out.print(p + a); return a + n * k; } double n; } 1 W 2 3 4 stack 5 9 16 17 2 W n W.main 3 7 9 salí regreso 15 W x 16 10 11 12 13 Explicación 14 15 16.Se crea la variable de referencia tipo W. 17.Se resuelven las expresiones que se pasan como parámetros al constructor. 8
  • 20. Área de Clases Heap 1 publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k)); } String p; W(int a, double m, String h) { System.out.print(m + h); n = m + 2; k = a - 5; p = h + "3"; } double g(int a) { System.out.print(p + a); return a + n * k; } double n; } 1 150:W W 18 2 3 4 stack 5 9 16 17 2 W n W.main 18 3 7 9 salí regreso 15 W x 16 10 11 12 13 Explicación 14 15 16.Se crea la variable de referencia tipo W. 17.Se resuelven las expresiones que se pasan como parámetros al constructor. 8 18.La clase W inicia la construcción , creando un objeto, se le asigna el identificador 150 y se le graba su fabricante, que es W.
  • 21. Área de Clases Heap 1 publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k)); } String p; W(int a, double m, String h) { System.out.print(m + h); n = m + 2; k = a - 5; p = h + "3"; } double g(int a) { System.out.print(p + a); return a + n * k; } double n; } 1 150:W W 18 int k: 2 19 0 String p: 20 null 3 4 stack 5 9 double n: 0.0 21 16 17 2 W n W.main 18 3 7 9 salí regreso 15 W x 16 10 11 12 13 Explicación 14 15 19.Se añade la variable K al objeto 150 con el valor 0. 20.Se añade la variable p al objeto 150 con el valor null. 8 21.Se añade la variable n al objeto 150 con el valor 0.0
  • 22. Área de Clases Heap 1 publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k)); } String p; W(int a, double m, String h) { System.out.print(m + h); n = m + 2; k = a - 5; p = h + "3"; } double g(int a) { System.out.print(p + a); return a + n * k; } double n; } 1 150:W W 18 int k: 2 19 0 String p: 20 null 3 4 stack 5 9 double n: 0.0 21 16 17 2 W n W.main 22 18 3 7 9 salí regreso 15 W x 16 Expresiones 10 salí 22 11 W(2, 20.0, “9"); 22 12 13 14 15 Explicación 22.Se invoca el constructor 8
  • 23. Área de Clases Heap 1 publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k)); } String p; W(int a, double m, String h) { System.out.print(m + h); n = m + 2; k = a - 5; p = h + "3"; } double g(int a) { System.out.print(p + a); return a + n * k; } double n; } 1 150:W W 18 int k: 2 19 0 String p: 20 null 3 4 stack 5 9 double n: 0.0 21 16 17 2 W n W.main 22 18 3 7 9 salí regreso 15 W x 16 Expresiones 10 salí 23 22 11 W(2, 20.0, “9"); 22 12 23 W 13 int a: W(int a, double m, String h) 2 23 23 14 String h: “9” 23 15 double m: 20.0 23 Explicación 8 22.Se invoca el constructor 23.Se crea el registro de activación del constructor y se realiza el paso de parámetros
  • 24. Área de Clases Heap 1 publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k)); } String p; W(int a, double m, String h) { System.out.print(m + h); n = m + 2; k = a - 5; p = h + "3"; } double g(int a) { System.out.print(p + a); return a + n * k; } double n; } 1 150:W W 18 int k: 2 19 0 String p: 20 null 3 4 stack 5 9 double n: 0.0 21 16 17 2 W n W.main 22 18 3 7 9 salí regreso 15 W x 16 Expresiones 10 salí 23 22 11 W(2, 20.0, “9"); 22 12 23 W 13 int a: W(int a, double m, String h) 2 23 23 14 String h: “9” 23 20.0 +”9”=20.09 24 15 double m: 20.0 23 Salida Explicación 8 24 24.Se realiza la expresión y se muestra (m + h) 8.1 a3 11 20.09
  • 25. Área de Clases Heap 1 publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k)); } String p; W(int a, double m, String h) { System.out.print(m + h); n = m + 2; k = a - 5; p = h + "3"; } double g(int a) { System.out.print(p + a); return a + n * k; } double n; } 1 150:W W 18 int k: 2 19 0 String p: 20 null 3 4 stack 5 9 double n: 0.0 21 22.0 16 17 25 2 W n W.main 22 18 3 7 9 salí regreso 15 W x 16 Expresiones 10 salí 23 22 11 W(2, 20.0, “9"); 22 12 25 23 W 13 int a: W(int a, double m, String h) 2 23 23 14 String h: “9” 23 20.0 +”9”=20.09 24 15 double m: 20.0 23 25 n=20.0+2=22.0 Salida 8 24 8.1 a3 11 20.09 Explicación 25.Se cambia el valor de n, asignándole m+2. La variable m se localiza en el stack.
  • 26. Área de Clases Heap 1 publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k)); } String p; W(int a, double m, String h) { System.out.print(m + h); n = m + 2; k = a - 5; p = h + "3"; } double g(int a) { System.out.print(p + a); return a + n * k; } double n; } 1 150:W W 18 26 int k: 2 19 0 -3 String p: 20 null 3 4 stack 5 9 double n: 0.0 21 22.0 16 17 25 2 W n W.main 22 18 3 7 9 salí regreso 15 W x 16 Expresiones 10 salí 23 22 11 W(2, 20.0, “9"); 22 12 25 23 W 13 int a: W(int a, double m, String h) 26 2 23 23 14 String h: “9” 23 20.0 +”9”=20.09 24 15 double m: 20.0 23 25 n=20.0+2=22.0 K=2-5=-3 26 Salida 8 24 8.1 a3 11 20.09 Explicación 26.Se cambia el valor de k, asignándole a-5. La variable a se localiza en el stack.
  • 27. Área de Clases Heap 1 publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k)); } String p; W(int a, double m, String h) { System.out.print(m + h); n = m + 2; k = a - 5; p = h + "3"; } double g(int a) { System.out.print(p + a); return a + n * k; } double n; } 1 150:W W 18 26 int k: 2 19 0 -3 27 String p: 20 null “93” 3 4 stack 5 9 double n: 0.0 21 22.0 16 17 25 2 W n W.main 22 18 3 7 9 salí regreso 15 W x 16 Expresiones 10 salí 23 22 11 W(2, 20.0, “9"); 22 12 25 23 W 13 int a: W(int a, double m, String h) 2 23 23 14 String h: “9” 23 20.0 +”9”=20.09 24 15 double m: 20.0 23 25 n=20.0+2=22.0 K=2-5=-3 26 Salida “9”+”3”=“93” 8 24 27 8.1 a3 11 20.09 Explicación 27.Se cambia el valor de p, asignándole h+”3”. La variable h se localiza en el stack.
  • 28. Área de Clases Heap 1 publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k)); } String p; W(int a, double m, String h) { System.out.print(m + h); n = m + 2; k = a - 5; p = h + "3"; } double g(int a) { System.out.print(p + a); return a + n * k; } double n; } 1 150:W W 18 26 int k: 2 19 0 -3 27 String p: 20 null “93” 3 4 stack 5 9 double n: 0.0 21 22.0 16 17 25 2 W n W.main 22 18 3 7 9 salí regreso 15 W x 16 Expresiones 10 salí 23 regreso 22 28 11 W(2, 20.0, “9"); 22 12 25 23 W 13 int a: W(int a, double m, String h) 2 23 23 14 String h: “9” 23 28 20.0 +”9”=20.09 24 15 28 double m: 20.0 23 25 n=20.0+2=22.0 K=2-5=-3 26 Salida “9”+”3”=“93” 8 24 27 8.1 a3 11 20.09 Explicación 28.Se termina la ejecución del constructor, se elimina su registro de activación y se regresa el valor de this, que es 150. Se regresa al registro de activación de main.
  • 29. Área de Clases Heap 1 publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k)); } String p; W(int a, double m, String h) { System.out.print(m + h); n = m + 2; k = a - 5; p = h + "3"; } doubleg(int a) { System.out.print(p + a); return a + n * k; } double n; } 1 150:W W 18 26 int k: 2 19 0 -3 27 String p: 20 null “93” 3 4 stack 5 9 double n: 0.0 21 22.0 16 17 25 2 W n W.main 22 18 3 7 29 9 salí regreso 15 W x 10 16 23 11 salí regreso 22 28 12 25 x.g 13 salí 14 29 15 28 8 Explicación 29.Se invoca el método x.g
  • 30. Área de Clases Heap 1 publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k)); } String p; W(int a, double m, String h) { System.out.print(m + h); n = m + 2; k = a - 5; p = h + "3"; } doubleg(int a) { System.out.print(p + a); return a + n * k; } double n; } 1 150:W W 18 26 int k: 2 19 0 -3 27 String p: 20 null “93” 3 4 stack 5 9 double n: 0.0 21 22.0 16 17 25 2 W n W.main 22 18 7 29 3 9 salí regreso 15 10 W x 16 23 11 salí regreso 22 28 12 25 x.g 13 30 int a: -2 salí 14 29 15 28 30 x.g 30 8 Explicación 30.Se crea el registro de activación de x.g y se realiza el paso de parámetro
  • 31. Área de Clases Heap 1 publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k)); } String p; W(int a, double m, String h) { System.out.print(m + h); n = m + 2; k = a - 5; p = h + "3"; } doubleg(int a) { System.out.print(p + a); return a + n * k; } double n; } 1 150:W W 18 26 int k: 2 19 0 -3 27 String p: 20 null “93” 3 4 5 9 stack double n: 0.0 21 22.0 16 17 25 W.main 2 W n 22 18 7 3 29 9 salí regreso 15 W x 10 16 regreso salí 23 22 28 11 12 25 30 13 x.g 30 int a: -2 14 salí 29 15 28 Expresiones 30 x.g “93”+-2=93-2 31 8 Explicación 31.Se realiza la expresión (p + a);
  • 32. Área de Clases Heap 1 publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k)); } String p; W(int a, double m, String h) { System.out.print(m + h); n = m + 2; k = a - 5; p = h + "3"; } doubleg(int a) { System.out.print(p + a); return a + n * k; } double n; } 1 150:W W 18 26 int k: 2 19 0 -3 27 String p: 20 null “93” 3 4 5 9 stack double n: 0.0 21 22.0 16 17 25 2 W n W.main 22 18 7 3 29 9 salí regreso 15 W x 10 16 23 salí regreso 11 22 28 x.g 12 25 x.g salí 13 29 int a: -2 14 30 15 28 Expresiones 30 30 32 “93”+-2=93-2 Salida 31 8 93-2 32 Explicación 32. Se muestra el resultado de la expresión p + a
  • 33. Área de Clases Heap 1 publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k)); } String p; W(int a, double m, String h) { System.out.print(m + h); n = m + 2; k = a - 5; p = h + "3"; } doubleg(int a) { System.out.print(p + a); return a + n * k; } double n; } 1 150:W W 18 26 int k: 2 19 0 -3 27 String p: 20 null “93” 3 4 5 9 stack double n: 0.0 21 22.0 16 17 25 2 W n W.main 22 18 7 3 29 9 salí regreso 15 W x 10 16 23 salí regreso 11 22 28 x.g 12 25 -2+22.0+-3=-68 33 salí 13 29 14 15 28 Expresiones 30 x.g 30 32 30 int a: -2 “93”+-2=93-2 Salida 33 31 8 93-2 32 Explicación 33. Se evalúa la expresión a + n * k
  • 34. Área de Clases Heap 1 publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k)); } String p; W(int a, double m, String h) { System.out.print(m + h); n = m + 2; k = a - 5; p = h + "3"; } doubleg(int a) { System.out.print(p + a); return a + n * k; } double n; } 1 150:W W 18 26 int k: 2 19 0 -3 27 String p: 20 null “93” 3 4 5 9 stack double n: 0.0 21 22.0 16 17 25 2 W n W.main 22 18 7 3 29 9 salí regreso 15 W x 10 16 23 salí regreso 11 22 28 x.g 12 25 -2+22.0+-3=-68 33 Regreso Con -68 salí 34 13 29 14 15 28 Expresiones x.g 30 30 32 30 int a: -2 “93”+-2=93-2 34 Salida 33 31 34 8 34 93-2 32 Explicación 34. Se devuelve el valor obtenido en el punto anterior y se destruye el registro de activación de “x.g”.
  • 35. Área de Clases Heap 1 publicclass W { int k; publicstaticvoidmain() { W n = new W(3, 8.1, "a3"); W x = new W(2, 20.0, "9"); System.out.print(x.g(n.k)); } String p; W(int a, double m, String h) { System.out.print(m + h); n = m + 2; k = a - 5; p = h + "3"; } doubleg(int a) { System.out.print(p + a); return a + n * k; } double n; } 1 150:W W 18 26 int k: 2 19 0 -3 27 String p: 20 null “93” 3 4 5 9 stack double n: 0.0 21 22.0 16 17 25 2 W n W.main 22 18 7 3 29 35 9 salí regreso 15 35 W x 10 16 23 salí regreso 11 22 28 x.g 12 25 -2+22.0+-3=-68 33 Regreso Con -68 salí 34 13 29 14 15 28 Expresiones x.g 30 30 32 30 int a: -2 “93”+-2=93-2 34 Salida 33 31 34 8 34 93-2 32 35 Explicación 35.Termina el método “main”. Se elimina el registro de activación y finaliza la ejecución del programa.