Título: Ayuda no entiendo este ejercicio...? Publicado por: Carlosjava en 25 Julio 2015, 13:56 pm Código En la consola sale i = 1 iArr[0] = 2; Porque no incrementa el i y si el iArr[0] ??? Mod: Los códigos deben ir en GeSHi Título: Re: Ayuda no entiendo este ejercicio...? Publicado por: tebilon en 25 Julio 2015, 14:13 pm Hola.
No soy un experto en Java, pero intentaré responderte. En Java al pasar un tipo primitivo a un método se pasa el valor, lo que quiere decir, crero, que se creará una copia en otra dirección de memoria con el valor de la variable, por lo que hagas lo que hagas en el método no afectará a la variable. Sin embargo al pasar el array, lo que pasas realmente es su dirección de memoria, con lo que las modificaciones si que se hacen sobre el array. Espero no haberte liado aún más. Un saludo. Título: Re: Ayuda no entiendo este ejercicio...? Publicado por: DarK_FirefoX en 25 Julio 2015, 17:23 pm - Por favor pon un título al tema que sea más descriptivo del problema.
- Utiliza las etiquetas GeSHi si vas a publicar código. En java se pasa todo por valor, lo que hay que entender es que pasa los objetos por referencia, y esas referencias se pasan por valor. Lee esto: http://stackoverflow.com/questions/40480/is-java-pass-by-reference-or-pass-by-value Salu2s Título: Re: Ayuda no entiendo este ejercicio...? Publicado por: Usuario Invitado en 25 Julio 2015, 17:44 pm Como te han dicho, todo en Java se pasa por valor. Intentaré explicarlo de una forma for dummies ;)
Supongamos que tienes un objeto de tipo Leon: Código
¿Qué pasa internamente? Bien, la nueva instancia de León se almacena en una dirección de memoria, supongamos que en la dirección 57. Ahora, le pasamos el objeto leon al método editLeon: Código
¿Qué está pasando internamente? Lo que está pasando es que el método editLeon recibe un puntero apuntando a la dirección de memoria del objeto pasado. Entonces, por medio de este puntero podemos acceder al objeto y cambiar sus propiedades. En la siguiente línea, se crea una nueva instancia en la posición 125 por ejemplo, y el puntero cambia de dirección y ahora apunta a la dirección (125) de la nueva instancia. Java funciona igual que C en este aspecto. Espero se haya entendido. Título: Re: Ayuda no entiendo este ejercicio...? Publicado por: daimagination en 30 Julio 2015, 01:40 am Código
Mod: Los códigos deben ir en etiquetas GeSHi Título: Re: Ayuda no entiendo este ejercicio...? Publicado por: DarK_FirefoX en 30 Julio 2015, 05:11 am @daimagination, utiliza las etiquetas GeSHi si vas a publicar código.
Además, ni siquiera utilizaste la manera correcta para hacer comentarios en Java. Salu2s |