Übergabe Durch Wert in Java
Swipe um das Menü anzuzeigen
Verständnis von Pass by Value in Java
In Java werden alle Methodenargumente per Wert übergeben. Das bedeutet, wenn eine Variable an eine Methode übergeben wird, kopiert Java den Wert dieser Variable und übergibt die Kopie an die Methode. Die Methode arbeitet dann mit dieser Kopie, nicht mit der ursprünglichen Variable aus dem Code.
- Bei Übergabe eines primitiven Typs (wie
int,doubleoderboolean) erhält die Methode eine Kopie des tatsächlichen Werts. Änderungen am Parameter innerhalb der Methode wirken sich nicht auf die ursprüngliche Variable außerhalb der Methode aus; - Bei Übergabe einer Objektreferenz (wie einem Array oder einer benutzerdefinierten Klasse) übergibt Java dennoch den Wert der Referenz (die Speicheradresse). Die Methode erhält eine Kopie dieser Referenz, sodass sowohl die ursprüngliche Referenz als auch der Methodenparameter auf dasselbe Objekt zeigen. Der interne Zustand des Objekts kann innerhalb der Methode verändert werden, aber wenn dem Parameter ein neues Objekt zugewiesen wird, bleibt die ursprüngliche Referenz außerhalb der Methode unverändert.
Dieses Verhalten ist wichtig, um vorherzusagen, wie sich Variablen nach dem Aufruf von Methoden in Java verändern – oder gleich bleiben.
Main.java
123456789101112131415package com.example; public class Main { public static void main(String[] args) { int number = 10; System.out.println("Before method call: number = " + number); changeValue(number); System.out.println("After method call: number = " + number); } public static void changeValue(int num) { num = 20; System.out.println("Inside method: num = " + num); } }
In diesem Code erhält die Methode changeValue eine Kopie der Variablen number, da Java Pass by Value verwendet.
Eine Änderung von num innerhalb der Methode beeinflusst number in main nicht, sodass dessen Wert nach dem Methodenaufruf weiterhin 10 beträgt.
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen