Passa per valore e Passa per riferimento in Java

Questo blog ti aiuta a comprendere Passa per valore e Passa per riferimento in Java. Spiega anche perché Java viene indicato come Passa per valore con l'esempio.

Java è uno dei linguaggi di programmazione più fondamentali che chiunque possa apprendere. È così semplice allo stesso tempo, la possibilità di ciò che puoi sviluppare utilizzando Java, è infinita!Questo è ciò che rende Java il linguaggio più utilizzato nel settore oggi.Questo blog ti aiuterà a comprendere il passaggio per valore e il passaggio per riferimento in Java nella seguente sequenza:

Passa per valore e Passa per riferimento in Java

Passa per valore e Passa per riferimento sono i due modi in cui possiamo passare un valore alla variabile in una funzione.



  • Passa per valore: È un processo in cui i valori dei parametri della funzione vengono copiati in un'altra variabile e invece viene passato questo oggetto copiato. Questo è noto come call by Value.

  • Passa per riferimento: È un processo in cui la copia effettiva del riferimento viene passata alla funzione. Questo è chiamato da riferimento.

Parlando di Java, possiamo dire che Java è Passa per valore e non passa per riferimento.

php crea array da string

Illustreremo la dichiarazione sopra citata programmando.

Illustrazione con il programma

Diciamo che abbiamo una lezione Macchina come sotto.

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}

Successivamente abbiamo un programma che scambia due oggetti.

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} // swap metodo public static void swap (Object o1, Object o2) {Object temp = o1 o1 = o2 o2 = temp}}

Produzione

Colore rosso = rosso

Colore giallo = giallo

Colore giallo = rosso

Spiegazione:

Quindi, come ho detto prima che JAVA è passato da Value, quindi, possiamo vedere che le prime due righe nell'output il metodo swap () non ha funzionato. Facciamo una spiegazione approfondita del codice.

Passa per valore e Passa per riferimento in Java

Innanzitutto, abbiamo creato un'istanza di una classe utilizzando il nuovo operatore. Viene creato e il valore viene memorizzato nella posizione di memoria. Pertanto questa istanza punta la posizione di memoria degli oggetti che è 'rosso' e 'giallo'. Ora, quando chiamiamo i valori con i nuovi oggetti o1 e o2, punta alla posizione di memoria dei due oggetti che è 'rosso' e 'giallo'. Quindi, quando il metodo di scambio viene richiamato all'inizio, punta alla posizione di memoria di 'Red'. Nella riga successiva, il riferimento auto viene modificato nell'indirizzo successivo e viene puntato alla posizione di memoria 'gialla'. Pertanto vengono scambiati al secondo passaggio, non al primo passaggio. Questo è il motivo per cui JAVA viene indicato come Pass by Value e non riferimento.

converte oggetto in array php

Ora che hai compreso Passa per valore e Passa per riferimento in Java, controlla il file da Edureka, una società di formazione online affidabile con una rete di oltre 250.000 studenti soddisfatti sparsi in tutto il mondo. Il corso di formazione e certificazione Java J2EE e SOA di Edureka è progettato per studenti e professionisti che desiderano diventare sviluppatori Java. Il corso è progettato per darti un vantaggio nella programmazione Java e formarti per concetti Java sia di base che avanzati insieme a vari framework Java come Hibernate e Spring.

Hai domande per noi? Si prega di menzionarlo nella sezione commenti di questo articolo 'Passa per valore e passa per riferimento in Java' e ti risponderemo il prima possibile.