Treceți prin valoare și treceți prin referință în Java



Acest blog vă ajută să înțelegeți Pass by Value și Pass by Reference în Java. De asemenea, explică de ce Java este denumit Pass by Value cu exemplu.

Java este unul dintre cele mai fundamentale limbaje de programare pe care le poate prelua oricine. Este atât de simplu în același timp, posibilitatea de a dezvolta folosind Java este infinită!Aceasta este ceea ce face din Java cel mai utilizat limbaj din industrie în prezent.Acest blog vă va ajuta să înțelegeți trecerea prin valoare și trecerea prin referință în Java în următoarea secvență:

Treceți prin valoare și treceți prin referință în Java

Pass by Value și Pass by reference sunt cele două moduri prin care putem transmite o valoare variabilei într-o funcție.





  • Treceți după valoare: Este un proces în care valorile parametrilor funcției sunt copiate într-o altă variabilă și în schimb acest obiect copiat este trecut. Acest lucru este cunoscut sub numele de Value.

  • Treceți prin referință: Este un proces în care copia efectivă a referinței este transmisă funcției. Aceasta se numește prin Referință.



Vorbind despre Java, putem spune că Java este Pass by Value și nu pass by reference.

Vom ilustra declarația sus-citată prin programare.

cum să devii un inginer de inteligență artificială

Ilustrație cu program

Să presupunem că avem o clasă Mașină ca mai jos.



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}

Apoi avem un program care schimbă două obiecte.

ce este o instanță în java

public class Disp {public static void main (String [] args) {Mașină roșie = mașină nouă ('Roșu') Balon galben = nou Balon ('Galben') swap (roșu, galben) System.out.println ('culoare roșie = '+ red.getColor ()) System.out.println (' galben culoare = '+ galben.getColor ()) desc (galben) System.out.println (' galben culoare = '+ galben.getColor ())} privat static void desc (Mașină auto) {// mașină = 100 balloon.setColor („Roșu”) // mașină = 100 mașină = mașină nouă („Verde”) // mașină = 200 mașină. setColor („Galben”) / / masina = 200} // metoda swap swap static static public (obiect o1, obiect o2) {obiect temp = o1 o1 = o2 o2 = temp}}

Ieșire

Culoare roșie = Roșu

Culoare galbenă = Galben

Culoare galbenă = Roșu

c ++ cum se utilizează spațiile de nume

Explicaţie:

Deci, așa cum am spus mai devreme, că JAVA este trecut de valoare, prin urmare, putem vedea că primele două linii din ieșire, metoda swap () nu a funcționat. Să facem o explicație amănunțită a codului.

Pass by Value și Pass By Reference în Java

În primul rând, am creat o instanță a unei clase folosind nou operator. Este creată și valoarea este stocată la locația memoriei. Prin urmare, această instanță indică locația de memorie a obiectelor care este „roșu” și „galben”. Acum, când apelăm valorile cu obiecte noi o1 și o2, atunci arată către locația de memorie a celor două obiecte care este „roșu” și „galben”. Deci, atunci când metoda de swap este invocată la început, aceasta indică locația de memorie a „Roșu”. În rândul următor, referința la mașină este schimbată la următoarea adresă și este indicată către locația de memorie „galben”. Prin urmare, ele sunt schimbate la al doilea pas, nu la primul pas. Acesta este motivul pentru care JAVA este denumit Pass by Value și nu referință.

Acum că ați înțeles Pass by Value și Pass by Reference în Java, verificați de Edureka, o companie de învățare online de încredere, cu o rețea de peste 250.000 de elevi mulțumiți răspândiți pe tot globul. Cursul de formare și certificare Java J2EE și SOA al Edureka este conceput pentru studenți și profesioniști care doresc să fie dezvoltator Java. Cursul este conceput pentru a vă oferi un început avansat în programarea Java și pentru a vă instrui atât pentru conceptele Java de bază, cât și pentru cele avansate, împreună cu diverse cadre Java, cum ar fi Hibernate & Spring.

Ai o întrebare pentru noi? Vă rugăm să îl menționați în secțiunea de comentarii a acestui articol „Treceți prin valoare și Treceți prin referință în Java” și vă vom contacta cât mai curând posibil.