Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Pass by Value i Java | Sektion
Practice
Projects
Quizzes & Challenges
Quizzer
Challenges
/
Essentielle Java-Koncepter

bookPass by Value i Java

Stryg for at vise menuen

Forståelse af Pass by Value i Java

I Java videregives alle metodeargumenter som værdier. Det betyder, at når du sender en variabel til en metode, kopierer Java værdien af denne variabel og sender kopien til metoden. Metoden arbejder derefter med denne kopi, ikke den oprindelige variabel fra din kode.

  • Når du sender en primitiv type (såsom int, double eller boolean), modtager metoden en kopi af den faktiske værdi. Ændringer foretaget på parameteren inde i metoden påvirker ikke den oprindelige variabel uden for metoden;
  • Når du sender en objektreference (som et array eller en brugerdefineret klasse), sender Java stadig værdien af referencen (hukommelsesadressen). Metoden modtager en kopi af denne reference, så både den oprindelige og metodeparameteren peger på det samme objekt. Du kan ændre objektets interne tilstand inde i metoden, men hvis du tildeler et nyt objekt til parameteren, påvirkes den oprindelige reference uden for metoden ikke.

Denne adfærd er vigtig for at forudsige, hvordan dine variabler ændrer sig—eller forbliver de samme—efter kald af metoder i 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); } }

I denne kode modtager metoden changeValue en kopi af variablen number, fordi Java bruger pass by value.
Ændring af num inde i metoden påvirker ikke number i main, så dens værdi forbliver 10 efter metodekaldet.

question mark

Hvad udskrives, når denne kode køres?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 10

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Sektion 1. Kapitel 10
some-alt