Passagem por Valor em Java
Deslize para mostrar o menu
Compreendendo Passagem por Valor em Java
Em Java, todos os argumentos de métodos são passados por valor. Isso significa que, ao passar uma variável para um método, o Java copia o valor dessa variável e envia a cópia para o método. O método então trabalha com essa cópia, não com a variável original do seu código.
- Ao passar um tipo primitivo (como
int,doubleouboolean), o método recebe uma cópia do valor real. Quaisquer alterações feitas no parâmetro dentro do método não afetam a variável original fora do método; - Ao passar uma referência de objeto (como um array ou uma classe personalizada), o Java ainda passa o valor da referência (o endereço de memória). O método recebe uma cópia dessa referência, então tanto a original quanto o parâmetro do método apontam para o mesmo objeto. É possível alterar o estado interno do objeto dentro do método, mas se você atribuir um novo objeto ao parâmetro, a referência original fora do método não será afetada.
Esse comportamento é importante para prever como suas variáveis mudam — ou permanecem as mesmas — após chamadas de métodos em 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); } }
Neste código, o método changeValue recebe uma cópia da variável number porque o Java utiliza passagem por valor.
Alterar num dentro do método não afeta number em main, então seu valor permanece 10 após a chamada do método.
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo