Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Pass-by-Value in Java | Sectie
Practice
Projects
Quizzes & Challenges
Quizzen
Challenges
/
Essentiële Java-Concepten

bookPass-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, double of boolean) 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

Main.java

copy
123456789101112131415
package 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.

question mark

Wat wordt er afgedrukt bij het uitvoeren van deze code?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 1. Hoofdstuk 10

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Sectie 1. Hoofdstuk 10
some-alt