Paso por Valor en Java
Desliza para mostrar el menú
Comprensión del paso por valor en Java
En Java, todos los argumentos de los métodos se pasan por valor. Esto significa que cuando se pasa una variable a un método, Java copia el valor de esa variable y envía la copia al método. El método entonces trabaja con esta copia, no con la variable original de tu código.
- Cuando se pasa un tipo primitivo (como
int,doubleoboolean), el método recibe una copia del valor real. Cualquier cambio realizado en el parámetro dentro del método no afecta a la variable original fuera del método; - Cuando se pasa una referencia a un objeto (como un arreglo o una clase personalizada), Java sigue pasando el valor de la referencia (la dirección de memoria). El método recibe una copia de esta referencia, por lo que tanto la original como el parámetro del método apuntan al mismo objeto. Puedes cambiar el estado interno del objeto dentro del método, pero si asignas un nuevo objeto al parámetro, la referencia original fuera del método no se ve afectada.
Este comportamiento es importante para predecir cómo cambian—o permanecen igual—tus variables después de llamar a métodos en Java.
Main.java
123456789101112131415package com.example; public class Main { public static void main(String[] args) { int number = 10; System.out.println("Before method call: number = " + number); changeValue(number); System.out.println("After method call: number = " + number); } public static void changeValue(int num) { num = 20; System.out.println("Inside method: num = " + num); } }
En este código, el método changeValue recibe una copia de la variable number porque Java utiliza paso por valor.
Cambiar num dentro del método no afecta a number en main, por lo que su valor permanece 10 después de la llamada al método.
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla