Passa per valor i passa per referència a Java



Aquest bloc us ajuda a entendre Pass by Value i Pass by Reference a Java. També explica per què es coneix Java com Pass by Value amb exemple.

Java és un dels llenguatges de programació més fonamentals que qualsevol persona pot recollir. Al mateix temps, és tan senzill que la possibilitat de desenvolupar amb Java és infinita.Això és el que converteix Java en el llenguatge més utilitzat en la indústria actual.Aquest bloc us ajudarà a conèixer el pas per valor i el pas per referència a Java en la següent seqüència:

Passa per valor i passa per referència a Java

Passar per valor i Passar per referència són les dues maneres mitjançant les quals podem passar un valor a la variable en una funció.





  • Passa per valor: És un procés en què els valors dels paràmetres de la funció es copien a una altra variable i, en canvi, es passa aquest objecte copiat. Value es coneix com a trucada.

  • Passa per referència: És un procés en què la còpia de referència real es passa a la funció. Això s’anomena per referència.



Parlant de Java, podem dir que Java és Pass by Value i no pass per referència.

Il·lustrarem la declaració citada per programació.

com configurar el camí de Java

Il·lustració amb Programa

Diguem que tenim una classe Cotxe com a sota.



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}

A continuació, tenim un programa que intercanvia dos objectes.

què és una instància a java

public class Disp {public static void main (String [] args) {Cotxe vermell = nou Cotxe ('Vermell') Globus groc = nou Globus ('Groc') swap (vermell, groc) System.out.println ('color vermell = '+ red.getColor ()) System.out.println (' color groc = '+ groc.getColor ()) desc (groc) System.out.println (' color groc = '+ groc.getColor ())} private static void desc (Cotxe cotxe) {// cotxe = 100 balloon.setColor ('Vermell') // cotxe = 100 cotxe = cotxe nou ('Verd') // cotxe = 200 cotxe.setColor ('Groc') / / car = 200} // mètode d'intercanvi intercanvi de buit estàtic públic (objecte o1, objecte o2) {Temp objecte = o1 o1 = o2 o2 = temp}}

Sortida

Color vermell = Vermell

Color groc = Groc

Color groc = Vermell

sincronització de fils a l'exemple java

Explicació:

Per tant, com he dit anteriorment que JAVA és passar per valor, podem veure que les dues primeres línies de la sortida del mètode swap () no funcionaven. Fem una explicació completa del codi.

Passa per valor i passa per referència a Java

En primer lloc, hem creat una instància d’una classe mitjançant el fitxer nou operador. Es crea i el valor s’emmagatzema a la ubicació de la memòria. Per tant, aquesta instància apunta a la ubicació de la memòria dels objectes que és 'vermella' i 'groga'. Ara, quan cridem els valors amb objectes nous o1 i o2, assenyala la ubicació de memòria dels dos objectes que és 'vermella' i 'groga'. Per tant, quan al principi s’invoca el mètode d’intercanvi, assenyala la ubicació de memòria de “Vermell”. A la següent línia, la referència del cotxe es canvia a la següent adreça i s'assenyala a la ubicació de memòria de 'groc'. Per tant, es canvien al segon pas, no al primer pas. És per això que JAVA es denomina Pass by Value i no referència.

Ara que heu entès Passa per valor i Passa per referència a Java, consulteu el fitxer per Edureka, una empresa d'aprenentatge en línia de confiança amb una xarxa de més de 250.000 estudiants satisfets repartits per tot el món. El curs de formació i certificació de Java J2EE i SOA d’Edureka està dissenyat per a estudiants i professionals que vulguin ser desenvolupador de Java. El curs està dissenyat per donar-vos un avantatge en la programació de Java i formar-vos tant per a conceptes bàsics com avançats de Java juntament amb diversos marcs Java com Hibernate i Spring.

Tens alguna pregunta? Si us plau, mencioneu-lo a la secció de comentaris d’aquest article “Passa per valor i passa per referència a Java” i us respondrem el més aviat possible.