Passagem por valor e passagem por referência em Java



Este blog ajuda você a entender a passagem por valor e a passagem por referência em Java. Também explica por que Java é conhecido como passagem por valor com exemplo.

Java é uma das linguagens de programação mais fundamentais que qualquer pessoa pode aprender. É tão simples ao mesmo tempo, a possibilidade do que você pode desenvolver usando Java é infinita!Isso é o que torna o Java a linguagem mais amplamente usada na indústria hoje.Este blog ajudará você a entender sobre a passagem por valor e a passagem por referência em Java na seguinte sequência:

Passagem por valor e passagem por referência em Java

Passagem por valor e passagem por referência são as duas maneiras pelas quais podemos passar um valor para a variável em uma função.





  • Passe por valor: É um processo no qual os valores dos parâmetros da função são copiados para outra variável e em vez deste objeto copiado é passado. Isso é conhecido como chamada por valor.

  • Passe por referência: É um processo no qual a cópia real da referência é passada para a função. Isso é chamado de Referência.



Falando em Java, podemos dizer que Java é passagem por valor e não passagem por referência.

Ilustraremos a declaração citada acima por programação.

Ilustração com Programa

Digamos que temos uma aula Carro como abaixo.



como configurar o caminho java
public class Car {private String color public Car () {} public Car (String a) {this.color = a} public String getColor () {return color public void setColor (String color) {this.color = color}

Em seguida, temos um programa que troca dois objetos.

public class Disp {public static void main (String [] args) {Car red = new Car ('Red') Balloon yellow = new Balloon ('Yellow') swap (red, yellow) System.out.println ('red color = '+ red.getColor ()) System.out.println (' yellow color = '+ yellow.getColor ()) desc (yellow) System.out.println (' yellow color = '+ yellow.getColor ())} private static void desc (Car car) {// car = 100 balloon.setColor ('Red') // car = 100 car = new car ('Green') // car = 200 car.setColor ('Yellow') / / car = 200} // método de troca public static void swap (Object o1, Object o2) {Object temp = o1 o1 = o2 o2 = temp}}

Resultado

Cor vermelha = vermelha

objeto de conversão php para array

Cor amarela = amarelo

Cor amarela = vermelho

Explicação:

Como eu disse antes, JAVA é passado por valor, portanto, podemos ver que as duas primeiras linhas na saída do método swap () não funcionaram. Vamos fazer uma explicação completa do código.

Passagem por valor e passagem por referência em Java

Primeiro, criamos uma instância de uma classe usando o Novo operador. Ele é criado e o valor é armazenado no local da memória. Portanto, esta instância está apontando a localização da memória dos objetos que é “vermelha” e “amarela”. Agora, quando estamos chamando os valores com os novos objetos o1 e o2, ele está apontando para a localização da memória dos dois objetos que é “vermelho” e “amarelo”. Portanto, quando o método de troca é invocado pela primeira vez, ele aponta para a localização da memória de “Vermelho”. Na próxima linha, a referência do carro é alterada para o próximo endereço e é apontada para a localização da memória “amarela”. Portanto, eles são trocados na segunda etapa, não na primeira etapa. É por isso que JAVA é referido como Pass by Value e não referência.

Agora que você entendeu a passagem por valor e a passagem por referência em Java, verifique o pela Edureka, uma empresa de aprendizagem online confiável com uma rede de mais de 250.000 alunos satisfeitos espalhados por todo o mundo. O curso de certificação e treinamento em Java J2EE e SOA da Edureka é projetado para estudantes e profissionais que desejam ser um desenvolvedor Java. O curso foi elaborado para dar a você uma vantagem inicial na programação Java e treiná-lo para os conceitos básicos e avançados de Java, juntamente com várias estruturas Java como Hibernate e Spring.

Tem alguma questão para nós? Mencione isso na seção de comentários deste artigo “Passagem por valor e passagem por referência em Java” e entraremos em contato com você o mais breve possível.