Pass by Value und Pass by Reference in Java

Dieser Blog hilft Ihnen dabei, Pass by Value und Pass by Reference in Java zu verstehen. Außerdem wird anhand eines Beispiels erläutert, warum Java als Pass by Value bezeichnet wird.

Java ist eine der grundlegendsten Programmiersprachen, die jeder lernen kann. Es ist so einfach zugleich, die Möglichkeit, was Sie mit Java entwickeln können, ist unendlich!Dies macht Java heute zur am weitesten verbreiteten Sprache in der Branche.Dieser Blog hilft Ihnen dabei, die Übergabe nach Wert und die Übergabe nach Referenz in Java in der folgenden Reihenfolge zu verstehen:

Pass by Value und Pass by Reference in Java

Übergeben nach Wert und Übergeben nach Referenz sind die beiden Möglichkeiten, wie wir einen Wert an die Variable in einer Funktion übergeben können.



  • Wert übergeben: Es ist ein Prozess, bei dem die Funktionsparameterwerte in eine andere Variable kopiert werden und stattdessen dieses kopierte Objekt übergeben wird. Dies wird als Call by Value bezeichnet.

  • Referenzübergabe: Es ist ein Prozess, bei dem die eigentliche Kopie der Referenz an die Funktion übergeben wird. Dies wird als Referenz bezeichnet.

Wenn wir über Java sprechen, können wir sagen, dass Java Pass by Value ist und nicht als Referenz übergeben wird.

Java konvertiert doppelt in int

Wir werden die oben zitierte Aussage durch Programmierung veranschaulichen.

Abbildung mit Programm

Nehmen wir an, wir haben eine Klasse Auto Wie unten.

public class Car {private Stringfarbe public Car () {} public Car (String a) {this.color = a} public String getColor () {Rückgabefarbe public void setColor (String color) {this.color = color}

Als nächstes haben wir ein Programm, das zwei Objekte austauscht.

public class Disp {public statisch void main (String [] args) {Auto rot = neues Auto ('Rot') Ballon gelb = neuer Ballon ('Gelb') Swap (rot, gelb) System.out.println ('rote Farbe' = '+ red.getColor ()) System.out.println (' gelb Farbe = '+ gelb.getColor ()) desc (gelb) System.out.println (' gelb Farbe = '+ gelb.getColor ())} private statische Leere desc (Auto Auto) {// Auto = 100 balloon.setColor ('Rot') // Auto = 100 Auto = neues Auto ('Grün') // Auto = 200 Auto.setColor ('Gelb') / / car = 200} // Swap-Methode public static void swap (Objekt o1, Objekt o2) {Objekt temp = o1 o1 = o2 o2 = temp}}

Ausgabe

Rote Farbe = Rot

Gelbe Farbe = Gelb

Gelbe Farbe = Rot

Erläuterung:

Wie ich bereits sagte, dass JAVA von Value übergeben wird, können wir daher feststellen, dass die ersten beiden Zeilen in der Ausgabe der swap () -Methode nicht funktioniert haben. Lassen Sie uns den Code gründlich erklären.

Pass by Value und Pass By Reference in Java

Zuerst haben wir eine Instanz einer Klasse mithilfe von erstellt Neu Operator. Es wird erstellt und der Wert am Speicherort gespeichert. Daher zeigt diese Instanz auf den Speicherort von Objekten, der 'rot' und 'gelb' ist. Wenn wir nun die Werte mit den neuen Objekten o1 und o2 aufrufen, zeigt dies auf den Speicherort der beiden Objekte, der 'rot' und 'gelb' ist. Wenn die Swap-Methode zuerst aufgerufen wird, zeigt sie auf den Speicherort von „Rot“. In der nächsten Zeile wird die Fahrzeugreferenz auf die nächste Adresse geändert und auf den Speicherort „gelb“ verwiesen. Daher werden sie im zweiten Schritt getauscht, nicht im ersten Schritt. Aus diesem Grund wird JAVA als Pass by Value und nicht als Referenz bezeichnet.

Koch gegen Marionette gegen Ansible

Nachdem Sie Pass by Value und Pass by Reference in Java verstanden haben, lesen Sie die von Edureka, einem vertrauenswürdigen Online-Lernunternehmen mit einem Netzwerk von mehr als 250.000 zufriedenen Lernenden auf der ganzen Welt. Der Java J2EE- und SOA-Schulungs- und Zertifizierungskurs von Edureka richtet sich an Studenten und Fachleute, die Java-Entwickler werden möchten. Der Kurs soll Ihnen einen Vorsprung in die Java-Programmierung verschaffen und Sie sowohl für grundlegende als auch für fortgeschrittene Java-Konzepte sowie für verschiedene Java-Frameworks wie Hibernate & Spring schulen.

Hast du eine Frage an uns? Bitte erwähnen Sie dies im Kommentarbereich dieses Artikels „Pass by Value und Pass by Reference in Java“. Wir werden uns so schnell wie möglich bei Ihnen melden.