Pass-by-Value in Java
Veeg om het menu te tonen
Begrijpen van Pass by Value in Java
In Java worden alle methode-argumenten doorgegeven via waarde. Dit betekent dat wanneer je een variabele aan een methode doorgeeft, Java de waarde van die variabele kopieert en de kopie naar de methode stuurt. De methode werkt vervolgens met deze kopie, niet met de originele variabele uit je code.
- Wanneer je een primitief type (zoals
int,doubleofboolean) doorgeeft, ontvangt de methode een kopie van de daadwerkelijke waarde. Eventuele wijzigingen aan de parameter binnen de methode hebben geen invloed op de originele variabele buiten de methode; - Wanneer je een objectreferentie (zoals een array of een aangepaste klasse) doorgeeft, geeft Java nog steeds de waarde van de referentie (het geheugenadres) door. De methode ontvangt een kopie van deze referentie, zodat zowel het origineel als de methodeparameter naar hetzelfde object verwijzen. Je kunt de interne toestand van het object binnen de methode wijzigen, maar als je een nieuw object aan de parameter toewijst, heeft dit geen invloed op de originele referentie buiten de methode.
Dit gedrag is belangrijk om te voorspellen hoe je variabelen veranderen—of hetzelfde blijven—na het aanroepen van methoden in Java.
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 deze code ontvangt de methode changeValue een kopie van de variabele number omdat Java pass by value gebruikt.
Het wijzigen van num binnen de methode heeft geen invloed op number in main, dus de waarde blijft 10 na het aanroepen van de methode.
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.