Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Passering med Värde i Java | Sektion
Grundläggande Java-Koncept

bookPassering med Värde i Java

Svep för att visa menyn

Förståelse av passering med värde i Java

I Java skickas alla metodargument med värde. Detta innebär att när du skickar en variabel till en metod, kopierar Java värdet av den variabeln och skickar kopian till metoden. Metoden arbetar sedan med denna kopia, inte den ursprungliga variabeln från din kod.

  • När du skickar en primitiv typ (såsom int, double eller boolean), får metoden en kopia av det faktiska värdet. Eventuella ändringar av parametern inuti metoden påverkar inte den ursprungliga variabeln utanför metoden;
  • När du skickar en objektreferens (som en array eller en egen klass), skickar Java fortfarande värdet av referensen (minnesadressen). Metoden får en kopia av denna referens, så både den ursprungliga och metodparametern pekar på samma objekt. Du kan ändra objektets interna tillstånd inuti metoden, men om du tilldelar ett nytt objekt till parametern påverkas inte den ursprungliga referensen utanför metoden.

Detta beteende är viktigt för att förutsäga hur dina variabler förändras—eller förblir oförändrade—efter metodanrop 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 denna kod tar metoden changeValue emot en kopia av variabeln number eftersom Java använder passering med värde.
Att ändra num inuti metoden påverkar inte number i main, så dess värde förblir 10 efter metodanropet.

question mark

Vad skrivs ut när denna kod körs?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 1. Kapitel 10

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Avsnitt 1. Kapitel 10
some-alt