Passeer waarde en passeer referentie in Java



Deze blog helpt je Pass by Value en Pass by Reference in Java te begrijpen. Het verklaart ook waarom Java wordt aangeduid als Pass by Value met voorbeeld.

Java is een van de meest fundamentele programmeertalen die iedereen kan leren. Het is tegelijkertijd zo eenvoudig, de mogelijkheid van wat je met Java kunt ontwikkelen, is oneindig!Dit is wat Java tot de meest gebruikte taal in de branche maakt.Deze blog zal u helpen de pass-by-waarde en de pass-by-referentie in Java te begrijpen in de volgende volgorde:

Passeer waarde en passeer referentie in Java

Pass by Value en Pass by reference zijn de twee manieren waarop we een waarde kunnen doorgeven aan de variabele in een functie.





  • Passeer waarde: Het is een proces waarbij de functieparameterwaarden worden gekopieerd naar een andere variabele en in plaats daarvan wordt dit gekopieerde object doorgegeven. Dit wordt call by Value genoemd.

  • Pass door Referentie: Het is een proces waarbij de daadwerkelijke kopie van de referentie wordt doorgegeven aan de functie. Dit wordt genoemd door Referentie.



Over Java gesproken, we kunnen zeggen dat Java Pass by Value is en niet pass by reference.

We zullen de aangehaalde verklaring illustreren door te programmeren.

Illustratie met programma

Laten we zeggen dat we een klas hebben Auto zoals hieronder.



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}

Vervolgens hebben we een programma dat twee objecten verwisselt.

public class Disp {public static void main (String [] args) {Car red = new Car ('Red') Balloon yellow = new Balloon ('Yellow') swap (rood, geel) System.out.println ('red color = '+ red.getColor ()) System.out.println (' yellow color = '+ yellow.getColor ()) desc (geel) System.out.println (' yellow color = '+ yellow.getColor ())} private static void desc (Auto auto) {// auto = 100 ballon.setColor ('Rood') // auto = 100 auto = nieuwe auto ('Groen') // auto = 200 auto.setColor ('Geel') / / car = 200} // swap methode public static void swap (Object o1, Object o2) {Object temp = o1 o1 = o2 o2 = temp}}

Uitvoer

Rode kleur = Rood

Gele kleur = Geel

Gele kleur = Rood

Uitleg:

php installeren op windows 10

Dus zoals ik eerder vertelde dat JAVA wordt doorgegeven aan Waarde, kunnen we daarom zien dat de eerste twee regels in de uitvoer van de methode swap () niet werkten. Laten we de code eens grondig uitleggen.

Passeer waarde en passeer referentie in Java

Eerst hebben we een instantie van een klasse gemaakt met behulp van de nieuw operator. Het wordt gemaakt en de waarde wordt opgeslagen op de geheugenlocatie. Daarom wijst deze instantie de geheugenlocatie van objecten aan die 'rood' en 'geel' is. Als we nu de waarden aanroepen met nieuwe objecten o1 en o2, dan wijst het naar de geheugenlocatie van de twee objecten die 'rood' en 'geel' is. Dus als de swap-methode in eerste instantie wordt aangeroepen, verwijst deze naar de geheugenlocatie 'Red'. In de volgende regel wordt Autoreferentie gewijzigd in het volgende adres en wordt het naar de geheugenlocatie 'geel' verwezen. Daarom worden ze bij de tweede stap verwisseld, niet bij de eerste stap. Dit is de reden waarom JAVA Pass by Value wordt genoemd en geen referentie.

Nu je Pass by Value en Pass by Reference in Java hebt begrepen, kun je het door Edureka, een vertrouwd online leerbedrijf met een netwerk van meer dan 250.000 tevreden leerlingen verspreid over de hele wereld. Edureka's cursus Java J2EE en SOA training en certificering is bedoeld voor studenten en professionals die Java-ontwikkelaar willen worden. De cursus is bedoeld om u een voorsprong te geven in het programmeren van Java en u te trainen in zowel kern- als geavanceerde Java-concepten, samen met verschillende Java-frameworks zoals Hibernate & Spring.

Heeft u een vraag voor ons? Vermeld dit in het commentaargedeelte van dit artikel 'Pass by Value en Pass by Reference in Java' en we nemen zo snel mogelijk contact met u op.